![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android面试
文章平均质量分 50
路过你的全世界
这个作者很懒,什么都没留下…
展开
-
Android消息机制(Handler、MessageQueue、Looper)详细介绍
Android的消息机制其实在android的开发过程中指的也就是Handler的运行机制,这也就引出了android中常见的面试问题:简述Handler、Looper、MessageQueue的含义,以及它们之间的关系简述Handler的运行机制说明Handler、Looper以及Message之间的关系Handler机制为什么这么重要呢?我们知道android设备作为一台移动设备,不管是原创 2016-05-18 11:01:18 · 5678 阅读 · 2 评论 -
设计模式之观察者模式
什么是观察者模式?定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖他的对象都会得到通知并被自动更新。观察者模式用在哪?观察者模式的典型应用就是在类似的“订阅—发布”系统。我们都用过邮箱,这里以QQ邮箱为例,我们可以在邮箱中进行订阅某个订阅号,之后每次我们就可以收到该订阅号发送过来的资讯信息。在这里我们就相当于观察者,订阅号就是被观察者,被观察者更新了数据,我们观察者就可以看到具原创 2017-06-09 11:36:11 · 268 阅读 · 0 评论 -
排序之冒泡排序
冒泡排序思想对于一个数字序列来说,我们可以依次比较相邻的两项数字,假如相邻的两项分别记为A和B。如果A的值大于B,那么进行A、B之间顺序的交换,将较大值移到后面。之后再用第二个值与第三个值进行比较,将较大的值放到后面,以此类推。原创 2017-07-08 13:50:09 · 438 阅读 · 0 评论 -
排序之快速排序
快速排序思想快速排序简称“快排”,快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。之后递归快速排序基准值的两侧,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成原创 2017-07-07 13:46:21 · 317 阅读 · 0 评论 -
深入JVM之理解JVM内存区域与对象创建、内存布局
java语言通过IDE的编译生成class文件,然后java虚拟机加载class文件到内存,之后运行在java虚拟机上。在这样的一个宏观的过程中,JVM的内存分区到底是什么样的呢?他们的作用又是什么呢?原创 2017-06-13 13:33:55 · 455 阅读 · 0 评论 -
排序之直接插入排序
直接插入排序简介直接插入排序最适合的场景如下:对于一个有序的序列来说,当我们将另外一个数字添加到该有序序列中的时候,依次从该序列的右边开始比较,如果要插入的值小于序列中当前位置的值,那么序列中该位置的值后移一位,以此类推,直到找到第一个不大于要插入的数值为止,最后将要插入的这个数值插入到合适位置,这就完成了一次直接插入排序的过程。对于无序数列来说,我们知道要插入的第i个数据之前的前i-1个数据都是有原创 2017-07-12 13:30:29 · 804 阅读 · 0 评论 -
设计模式之适配器模式
我们知道所有的电器基本上都有电源转换器,因为家用的电压都是220V,电器的额定电压肯定没有那么高,所以需要一个电源适配器来进行“中和”,这样,我们的电器就可以安全的进行插电使用。上述的这种案例就是适配器的一种典型的应用了。那么设计模式中的适配器是做什么用的呢?类似于生活中的适配器:它是将两个不兼容的类融合在一起,将这两个接口进行兼容,在不修改原有代码的情况下满足需求。原创 2017-06-10 22:44:21 · 369 阅读 · 0 评论 -
排序之折半插入排序
二分查找(折半插入)排序属于插入类排序的一种,可以说是直接插入排序的一种改进版:主要改进在查找插入位置上节省了时间。直接插入排序需要依次在有序的序列里进行比较,较大值右移一直到找到合适的位置进行插入。二分查找排序节省了查找的时间。对于一个有序的序列来说,采用二分查找的方式来找到插入点比直接便利比较所费的时间少。使用二分查找排序找到插入点之后,依次后移插入点之后的数据,然后将要插入的值放进去,完成原创 2017-07-11 14:05:15 · 371 阅读 · 0 评论 -
设计模式之装饰模式
如果想对某个类进行功能扩充,一般就会想到使用继承(对拓展开放,对修改关闭的开闭原则)。如果我们不使用继承的话还有没有其他方式来实现呢?答案是有的:就是使用装饰模式; 装饰模式也叫做包装模式,结构型设计模式之一。可以用来动态透明的方式来拓展对象的功能。可以看做是继承关系的一种补充(替代)。装饰模式的定义动态的为一个对象添加一些额外的职责。就增加功能来说,装饰模式相比继承更为原创 2017-06-29 21:32:23 · 253 阅读 · 0 评论 -
设计模式之单例模式
单例模式是应用最广的设计模式之一。为什么会使用单例模式呢?许多时候我们整个系统只允许有一个全局对象,然后用这个对象来协调系统整体的行为;或者我们要实例化的类需要的资源较多,耗费时间比较久,那么我们也可以使用单例模式在整个程序运行期间维持一个唯一的实例对象。原创 2017-06-02 21:44:54 · 226 阅读 · 0 评论 -
设计模式之策略模式
策略模式通俗的来讲是应用于类似于这样的场景:比如一个人想从A地到B地,他可以选择的方式有好几种:1. 乘坐公交 2. 乘坐的士 3. 乘坐地铁。这三种不同的方式都可以最后到达目的地,只是采用的“策略”不同,一般我们可以在代码中通过if-else这样的分支来达到使用不同的方式去执行。但是这样的方式存在着代码逻辑复杂,越来越难以维护(随着具体执行方式的增加)这也就是“策略模式”需要解决的原创 2017-06-06 20:59:38 · 425 阅读 · 1 评论 -
设计模式之工厂方法模式
工厂方法模式属于创建设计模式之一,是一种比较简单的设计模式,应用比较广泛。工厂方法模式的定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法模式适合用于复杂对象的创建过程,而通过new就可以实例化的对象不需要使用该模式。首先新建一个“产品”抽象类public abstract class AudiCar {/** * 汽车抽象产品类 * 定义汽车的一个行为方法,车可以启动开走原创 2017-06-04 22:12:40 · 237 阅读 · 0 评论 -
基于binder的跨进程通讯之使用AIDL实现Demo
写在前面 上一篇我们介绍了binder机制的基本知识,如果还不太了解binder机制,可进行点击查看:让你一看就明白的Binder机制binder和AIDL的关系从应用层的角度来说,Binder类是android中的一个类,它实现了IBinder接口,是binder机制在应用层的核心代理,Binder是客户端和服务端进行通讯的“桥梁”。原创 2017-05-16 17:43:31 · 713 阅读 · 0 评论 -
Android中Activity生命周期的深度剖析
Android中Activity生命周期的深度剖析activity生命周期的简单知识汇总之前我曾经写过一篇很简单的关于activity生命周期的博客,如果读者有这样的需求的话可以点击下面进行查看。activity的简单生命周期的介绍activity生命周期的深度介绍与剖析onStart和onResume,onPause和onStop的区别从描述上来看,这两组方法的功能差不多一样,那么它们的原创 2016-06-13 09:32:43 · 452 阅读 · 0 评论 -
让你一看就明白的binder机制
写在前面网上有很多学习android binder机制的文章和博客,但是大部分或者是深入native不能自拔,看的云里雾里(本人一直使用java,C语言较渣);或者是只讲理论缺乏实际编程的过程。所以就想总结下binder的基本理论并附带一个基于Aidl的进程间的通讯的Demo,希望能对初步接触android binder机制的小伙伴们提供些帮助。当然本人能力有限,如有错误之处还请指教。binder机原创 2017-05-15 18:00:07 · 1507 阅读 · 0 评论