自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 资源 (21)
  • 收藏
  • 关注

原创 java基础大汇总一

一、java概述答:1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;二、Java的三种技术架构?答: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Pl

2017-10-17 15:41:21 391

原创 面试记录第二十六节——(45道android面试题总结)

一、什么是 Activity?答:通俗一点说 Activity 就是一个界面,这个界面里面可以放置各种控件。Activity 的界面也是用 xml 文件表示的,放置在 res->layout 下面。每生成一个新的 Activity 后,我们需要在AndroidManifest.xml 中注册一下这个 activity二、请描述一下 Activity 生命周期?答: onCreate(Bundle

2017-10-17 10:05:55 841

原创 面试记录第二十五节——(线程池)

问:一、线程池的好处答 1、降低我们资源的消耗,因为我们可以重复利用我们已经创建好的线程,降低不断创建和销毁线程所带来的资源消耗。 2、提高响应速度,我们知道当任务达到一定的数量时,任务不需要等到线程创建就立即执行(因为有创建好的可以循环利用)。 3、提高线程的可管理性,毕竟线程还是比较稀缺的资源,尤其是手机当中,如果你无限制的创建线程,不仅仅会消耗系统资源,同时还会降低系统

2017-10-16 17:26:57 426

原创 面试记录第二十四节——(多线程)

一、问:java中可有几种方式实现多线程答:两种 一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。thread thread这个方式,会继承Thread,具体操作会在run()方法中来执行,最后线程的开启

2017-10-16 16:59:33 464

原创 面试记录第二十三节——(java网络编程、BIO/NIO/AI0)

一、基础知识:1、基础知识a) : ip:它是识别网络通讯的实体,可以理解为主机,也可以理解为每个路由器的端口。 端口号:一个通讯实体他可以拥有很多的通讯程序同事提供网络服务,这个时候就要通过端口号来区分通讯程序,一个通讯实体不能有两个通讯程序使用同一个端口号。b): tcp/udp协议: tcp:它是一个面向链接的保证可靠传输的协议,通过tcp协议传输,得到的是一个

2017-10-16 15:17:58 644

原创 面试记录第二十二节——(lint检查)

一、问:什么是Android lint检查?答:lint他其实是一个静态代码分析工具,它能够对你Android项目中潜在的BUG、可优化代码、安全性、性能、可用性、可访问性、国际化等进行检查。在Android api16之后,lint是已经自动安装了,包括我们android studio工具,也已经集成了lint检查和扫描工具,他可以及早的发现问题,让我们开发人员在代码上线以前,指出错误地方予以修复

2017-10-16 14:42:43 464

原创 面试记录第二十一节——(进程保活)

一 、问:什么是进程保活?答:进程保活就是进程永远存在内存中,是杀不死的,就算杀死了也会有办法重新启动起来,其实这些并不是流氓手段,很多情况下,如果你想给你的用户提供服务,就必须有一个进程常驻着,便于在特定的时候做一些特定的事情,比如广播接受者,他就不支持静态注册,也就是说如果我们想接受屏幕开关启动的广播,必须要在进程中动态注册,这个时候如果没有一个常驻的进程,锁屏业务就无法正常的为用户展开服务。二

2017-10-16 14:30:03 667

原创 面试记录第二十节——(MVP讲解)

一、前言注意:MVC功能很强大,但是他也有很多不好的缺点,因为在Android中,相比传统的MVC设计模式,它的view层它对应的是我们Android中的布局XML,但是这个xml文件并不想java web端那么强大,能做的事情其实非常有限,而controller对应的activity类不仅要处理业务逻辑,他也要处理Android当中一些操作UI的功能,我们在实际开发项目中,有很多的UI操作的业务逻

2017-10-13 15:56:29 816

原创 面试记录第十九节——(MVC)

一、MVC定义答:M:业务逻辑处理V:处理数据显示的部分C:控制器,Activity处理用户交互的问题二、什么是mvc定义答:在Android开发过程中,比较流行的开发框架,曾经采用的是MVC模式,好处就是便于UI界面的显示和业务逻辑的分离。具体来说 Model层:用来业务逻辑处理,例如一些数据库的操作、网络操作或者一些复杂的操作甚至一些耗时的任务都会在Model层处理。 View层:

2017-10-13 12:25:54 318

原创 面试记录第十八节——(冷启动)

一、什么是冷启动在安卓中,系统为每一个应用至少分配一个进程,所以从进程的角度来说,冷启动就是在应用启动之前,系统中没有该应用的任何进程信息。例如第一次启动或者被杀死后再次启动二、冷启动、热启动的区别答:第一点:定义不同。 冷启动的时候,应用启动的时候,后台没有该应用的进程,这个时候系统会创建一个新的进程,分配给该应用。 热启动的时候,启动应用的时候,后台已经有了该应用的进程,你是通过b

2017-10-12 17:51:52 345

原创 面试记录第十七节——(内存管理机制概述)

一、内存管理机制概述答:从操作系统的角度来说,内存就是一块数据存储区域,而且他是可以被操作系统调动的资源,在现在的多进程操作系统当中,内存管理十分重要。操作系统它会为每一个进程合理分配内存资源,这里我们来从两个角度来分析,什么是内存管理机制。1、分配机制 操作系统它会为每一个进程分配一个合理的大小,从而他能保证每一个进程能够正常的运行。而不至于内存不够使用或者某个进程占用太多的内存,这就是操作系

2017-10-12 17:37:36 347

原创 面试记录第十六节——(内存泄露)

一、java内存泄露基础知识答:简单的讲就是该被释放的对象没有得到释放,一直被某个实例所持有,导致不能垃圾回二、java内存的分配策略答:在java程序运行当中,它的内存分配策略是分为三个部分。 (一)静态存储区(也叫方法区):此处主要存放一些静态数据、全局遍历等等。在java内存当中,程序编译的时候,他已经分配好了内存,并且在静态存储区中存储的变量,在整个程序运行期间都存在。 (二)

2017-10-12 17:15:42 536

原创 面试记录第十六节——(UI卡顿的问题)

一、60fps 和 16ms的含义很多时候用户感觉UI卡顿,而造成这种卡顿的最主要根源是来源于渲染器,我们在开发过程中,大家再和UI沟通的时候就可以感觉到。一般我们在和UI工程师沟通的时候,他们总想把APP做的很绚丽、功能很丰富、图片很大很清晰,提高用户的体验效果。但是UI工程师是站在他们自己的角度考虑问题,他们并不知道,安卓系统很可能无法完成某些复杂的渲染操作。我们知道Android的系统每隔

2017-10-12 16:48:35 697

原创 面试记录第十五节——(bitmap释放、lru、三级缓存、图片压缩)

一、recycle释放内存问题答: 在Android2.3.3(API 10)及之前的版本中,Bitmap对象与其像素数据是分开存储的,Bitmap对象存储在Dalvik heap中,而Bitmap对象的像素数据则存储在Native Memory(本地内存)中或者说Derict Memory(直接内存)中,这使得存储在Native Memory中的像素数据的释放是不可预知的,我们可以调用recy

2017-10-12 15:59:53 1229

原创 面试记录第十四节——(什么是oom)

一、什么是oom答:当前占用的内存加上我们申请的内存资源超过了虚拟机的最大内存限制就会抛出Out of memroy异常(大部分的oom都是加载大图片引起的)二、一些容易混淆的概念答:内存溢出、内存抖动、内存泄露 内存溢出:就是我内存oom(Out of memroy),当前占有的内存加上我们申请的内存超过了虚拟机最大的内存限制就会抛出oom 内存抖动:是短时间内大量的对象被创建会被马

2017-10-12 15:32:15 416

原创 面试记录第十三节——(什么是anr)

一、什么是anr答:anr就是一个无响应的对话框,主要原因就是在主线程做了耗时操作。 1、如果我们的应用程序有一段时间,点击不够灵敏,系统就会想用户显示一个对话框,而这个对话框的内容就是anr(Application Not Respinding:意思就是用户可等待,程序正在运行,同事你也可以选择关闭)。对于一个良好的、流程的、合理的APP来说,anr是绝对不能出现的。 2、在一个ac

2017-10-12 15:14:51 427

原创 面试记录第十二节——(Butterknife 注入框架)

一、Butterknife 注解框架面试使用简介答:ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。如下图所示二、ButterKnife 优势答: 1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2、方便的处理Adapter里的ViewHold

2017-10-12 15:04:19 678 1

原创 面试记录第十一节——(volley框架)

一、问:volley框架的历史答:volley是在2013年Google I/O大会上推出了一个新的网络通信框架Volley。Volley既可以访问网络取得数据,也可以加载图片,并且在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。二、问:五种volley请求方式分别为?答:St

2017-10-11 18:11:44 506

原创 面试题记录第十节——(okhttp、retrofit网络框架)

问:一、okhttp使用流程答:1、添加权限,2创建流程添加权限 配置Okhttp3非常简单,只需要在Android Studio 的gradle进行如下的配置: 创建流程1、创建一个OkhttpClient对象2、创建一个Request对象,通过内部类Builder调用生产Response对象。3、创建一个Call对象,调用execute(同步)/enqueue(异步)方法。priva

2017-10-11 17:41:27 4053 1

原创 面试记录第十节——(代码混淆)

一、问:proguard到底是什么答:因为Java代码是非常容易反编码的,况且Android开发的应用程序是用Java代码写的,为了很好的保护Java源代码,我们需要对编译好后的class文件进行混淆。ProGuard是一个混淆代码的开源项目二、问:proguard作用答: 压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute)。 优化(Optimize):

2017-10-11 17:16:12 327

原创 面试体记录第九节——(Android studio目录结构认识)

一、问Android studio目录结构答:最外层的priject目录结构1、gradle:这里包含了一些gradle编译的一些脚本,gradle是谷歌推荐的一种编译脚本,它的底层是*2、.idea:这里包含了我们Android studio工具所需要的文件,例如版权的声明啊、词典的介绍、库的使用、配置文件等。3、app:这是我们的mudlu文件,我们编写的代码和布局等文件都会存放在此文件包中,4

2017-09-22 16:33:21 390

原创 面试记录第八节——(listview面试)

一、问:什么是listview?答:他是一个能将数据集合以动态滚动的方式展示到用户界面上的view二、问:listview适配器模式是什么?答:adapter为每一个数据制作view,然后交给listview来显示。adapter的出现就是保证数据和view 的分离。这也是一种mvc的设计模式。他只会通过adapter来处理数据源。同时adapter的接口又是统一的,所以这会让listview不用去

2017-09-22 15:40:04 471

原创 面试题记录第七节——(事件分发)

一、问:为什么会有事件分发机制答:我们知道Android中的view,是以树形结构存在的。他的view控件有可能会重叠在一起,当我们点击的地方存在多个view的时候,就会导致我们的点击事件,多个view都得到响应,这个时候系统会把这个点击事件判断给谁呢?为了解决这个问题,就有了事件分发机制。如下图,当我们点击view1的时候,它下面的viewGroupA和黑色的rootview,都会得到相应。为了

2017-09-22 11:09:50 587 1

原创 面试体记录第六节——(handlerThread、intentservice、view)

一、问:handerThread出现的背景是什么?答:我们在安卓项目开发中,经常会遇到一些耗时操作,这时候我们第一直觉,就是开启一个子线程去执行一个耗时操作,这很方便但是却又很耗内存,因为当你一个Android中的thread执行完耗时操作,线程就会被自动销毁,如果在短时间内又要执行一个耗时操作,这个时候我们就不得不重新创建线程去执行耗时任务,这样就存在一个性能问题,多次创建和销毁线程是很消耗

2017-09-20 18:14:04 613

原创 面试题记录第五节——Asynctask

一、问:Asynctask是什么?答:它是Android提供的一个抽象类,他本质上就是一个封装了线程池和handler的异步框架,主要是来执行异步任务的,由于它内部继承了handler,所以他可以在工作线程和UI线程中随意切换。注意:Asynctask能够让你避免使用线程类thread和handler直接处理后台操作,他可以把运算好的结果交给UI 线程来显示,不过Asynctask只能做一些耗时较短

2017-09-20 12:40:39 406

原创 面试体记录第四节——(handler)

一、问:什么是handler?答: 1、可以让对应的Message和Runnable在未来的某个节点上进行相应处理(简单的来说,就是在子线程做完耗时操作,可以通过发送runnable和sendmessage方式通知主线程更新UI)。 2、让自己想要处理的耗时操作放在子线程,然后通过handler发送消息的机制,通知主线程更新UI。二、问:handler的使用方法?答:1、post(r

2017-09-19 09:56:48 471

原创 面试题记录第二节——(Binder)

一、问:什么是binder?答:a、通常意义上,Binder指的是一种跨进程的通信机制。当然可也以跨线程,由于进程大于线程。所以用Binder来做线程通讯,是大材小用。b、对于Server进程来说,Binder指的是Binder本地对象/对于Client来说,Binder指的是Binder代理对象。c、对于传输过程而言,Binder是可以跨进程传递的对象。二、问:Linux内核的基础知识?binde

2017-09-18 18:18:00 618

原创 面试题记录第二节——(service、Broadcast)

一、问service是什么?答:service(服务)是一个一种可以在后台,执行长时间运行操作,而没有用户界面的组件。注意:service和braodcastReceiver都是运行在主线程。所以不建议执行耗时操作二、Service在程序中运行,有那两种方式?答:startService():、bindService():startService() 此种开启方式Service会经历onCre

2017-09-18 16:24:32 733

原创 面试题记录第一节——(activity、fragment)

activity一、问:什么是activity呢?答:安卓是与用户交互的结果,他提供了一个界面让用户点击、各种滑动等操作。这个界面的存在就是activityd存在的意义。二、问:activity的四中状态?答:running - paused - stopped - killed==处于栈顶,正在运行 - 暂停(失去了用户操作的能力,并不一定不可见) - 停止(界面不可见) - 删除状态(activ

2017-09-18 12:45:34 632

原创 HTML5学习06-本地存储

本地存储本地存储用到的方法1、transaction.executeSql(sqlquery,[],dataHandler,errorHandler)://参数一:作为执行数据库的语句,例如增、删、改、查//参数二:数组//参数三:成功执行sql语句的回调函数//参数四:失败执行sql语句的回调函数2、function dataHandler(transaction,results)//参数三:成功

2017-07-05 16:34:38 289

原创 HTML5学习05-Web Storage存储

认识Web Storage一、什么是Web Storage一、Web Storage和Cookies的区别我们之前开发一般都是使用Cookies在客户端保存诸如用户名等简单用户信息,但通过长期的使用,人们发现还用Cookies存储永久数据存在几个问题。 大小:Cookies的大小被限制在4KB 宽带:Cookies是随HTTP事务一起被发送的,因此浪费一部分发送Cookies时使用的宽

2017-07-05 16:25:35 712

原创 HTML5学习04-HTML5列表、快和布局

一、HTML5列表1、无序列表使用标签 :<ul>、<li>属性: disc:默认黑色园 circle:空心园 square:黑色方块如图2、有序列表使用标签 :<ol>、<li>属性:A、a、I、i、start//如下图3、嵌套列表使用标签:<ul>、<ol>、<;i>如下图:054、自定义列表使用标签<dl>、<dt>、<dd>如下图:06案例代码<!DOCTY

2017-07-03 17:19:12 474

原创 HTML5学习03-HTML5样式 链接和表格

题外话:由于本人也是从零开始学习,所以做的笔记都是最简单的,会根据之后的学习慢慢补充里面的知识。一、三种常用样式案例:1、外联的样式,myyangshiss.cssh1{ color: red; }2、代码内容<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>样式的使用</ti

2017-07-03 17:00:21 530

原创 HTML5学习02-元素、属性和格式化

我用的HTML5开发工具是IDEA,如果有小伙伴需要,请联系178932296,我会发给你。怎么用:http://www.jikexueyuan.com/course/181.html什么是元素什么是属性字体格式化代码//注意,我用的开发工具是IDEA,如果有小伙伴需要,请联系178932296,我会发给你//<br>是换行的意思<!DOCTYPE html><html lang="en">

2017-07-03 16:29:35 277

原创 HTML5学习01-基础讲解、新特性

一、基础讲解二、新特性三、兼容性HTML5为了保证兼容前面各个版本,语法达到了最大程度的兼容设计。 (1)、不允许写结束标记的元素: area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、trach和wbr。(2)、可以省略结束标记的元素:li、dt、dd、p、rt、optgroup、option、co

2017-07-03 16:16:42 387

原创 Mysql数据库(十九) - 文章引导

索引Mysql数据库(一)学习-安装:http://blog.csdn.net/bobo89455100/article/details/72466511Mysql数据库(二)登|退|创|改|删除:http://blog.csdn.net/bobo89455100/article/details/72478962mysql数据库(三) 数据类型、表的创建:http://blog.csdn.net/b

2017-06-23 17:55:30 90

原创 MYSQL数据库(十八)- 存储引擎

目录一、存储引擎二、什么叫并发控制三、什么叫事务四、什么叫外键五、什么叫索引(可以理解为,目录。)一、存储引擎存储引擎介绍有哪些存储引擎各个的优缺点修改存储引擎的方法 二、什么叫并发控制注意:并发控制:避免两个或者多个链接同事操作一个数据表的一个数据,从而造成信息保存,或者信息不全等问题。在处理并发读、并发写的时候,系统会使用一套锁系统。他又两种方式,如图: 锁的大小 1、表锁,是一种

2017-06-23 17:40:39 387

原创 MYSQL数据库(十七)- 存储过程

目录 一、存储过程的介绍 二、存储过程案例: 三、8-8储存过程与自定义函数的区别本章内容sql命令的执行流程,这里是完整的流程。一、存储过程的介绍存储过程的含义。 1、存储过程存储在数据库内,可以由应用程序调用执行,而且允许用户声明变量以及进行流程控制,存储过程可以接受参数,可以接受输入类型的参数,也可以接受输出类型的参数,并且可以存在多个返回值。所以存储过

2017-06-23 15:56:05 700

原创 MYSQL数据库(十六)-自定义函数

目录自定义函数讲解什么是自定义函数自定义函数的必要条件自定义函数定义:自定义函数的创建自定义函数的函数体含义:案例:无参自定义函数//第一步、查出现有的时间mysql> select now();+---------------------+| now() |+---------------------+| 2017-06-20 15:22:38 |+--

2017-06-20 16:44:46 815

原创 MYSQL数据库(十五)-常用数字、比较、日期、信息、聚合、加密函数和运算符

目录一、数字运算符二、比较运算符三、日期函数四、信息函数五、聚合函数六、加密函数一、数字运算符小写ceil() 进一取整(向上取整)div() 整数除法flloor() 舍一取整(向下取整)mod() 取余数(取摸)power()

2017-06-20 16:33:33 507

MVP框架demo

注意:MVC功能很强大,但是他也有很多不好的缺点,因为在Android中,相比传统的MVC设计模式,它的view层它对应的是我们Android中的布局XML,但是这个xml文件并不想java web端那么强大,能做的事情其实非常有限,而controller对应的activity类不仅要处理业务逻辑,他也要处理Android当中一些操作UI的功能,我们在实际开发项目中,有很多的UI操作的业务逻辑都写在了这个activity当中,但这个类明显有很多视图层所做的事情,这样就导致了controller这个层非常的冗余和厚重,为了改善这一点,我们引入了今天的重点:MVP架构。

2017-10-13

MVC框架demo

在Android开发过程中,比较流行的开发框架,曾经采用的是MVC模式,好处就是便于UI界面的显示和业务逻辑的分离

2017-10-12

ViewPager+fragment(底部导航)

http://blog.csdn.net/bobo89455100/article/details/53709857

2017-07-07

软件盘顶起某组件

软件盘顶起某组件

2017-03-02

自定义视图初识

自定义视图初识

2017-02-06

绘图基础Canvas+Paint

绘图基础Canvas+Paint

2017-02-06

绘图基础Canvas+Path+Paint

绘图基础Canvas+Path+Paint

2017-02-06

自定义view-Android实现手写板和涂鸦

自定义view-Android实现手写板和涂鸦 http://blog.csdn.net/bobo89455100/article/details/53729637

2017-02-06

环形进度条

环形进度条

2017-02-06

仿IOS时间选择

仿IOS时间选择

2017-02-06

默认显示三条数据,点击更多显示余下数据

默认显示三条数据,点击更多显示余下数据

2017-02-04

AlarmManger闹钟

AlarmManger闹钟

2017-01-19

AIDL案例代码

AIDL案例代码

2017-01-19

GridView基础01

GridView基础01

2017-01-19

拍照和相册选择(不带剪切)

拍照和相册选择(不带剪切)

2017-01-19

拍照和相册选择

拍照和相册选择

2017-01-19

拍照和选择相册截图上传

拍照和选择相册截图上传

2017-01-18

CalendarComponent

文章链接:http://blog.csdn.net/bobo89455100/article/details/53929685

2016-12-30

带banner的上拉下拉刷新

带banner的上拉下拉刷新. 文章链接:http://blog.csdn.net/bobo89455100/article/details/53708247

2016-12-30

自定义折线图

自定义折线图 文章链接:http://blog.csdn.net/bobo89455100/article/details/53729647

2016-12-29

样式时间选择器MyPicker

仿IOs,滚轮时间选择器,样式(****年**年** **时**分)

2016-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除