![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 92
XuJiaoJie
这个作者很懒,什么都没留下…
展开
-
装饰者模式Decorator
装饰者模式,动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案结构说明1、Component抽象组件,是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象。(注:在装饰模式中,必然有一个最基本、最核心、最原始的接口或者抽象类充当Component抽象组件)2、ConcreteComponent具体组件,原创 2017-04-18 17:25:17 · 465 阅读 · 0 评论 -
JVM之内存模型与线程
内存一致性协议由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此在CPU里面就有了高速缓存。当程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存原创 2017-11-13 19:27:05 · 357 阅读 · 0 评论 -
源码分析Android中的线程和线程池
概述线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时的操作。在操作系统中,线程是操作系统调度的最小单元。 - AsyncTask封装了线程池和Handler,它主要方便开发者在子线程中更新UI。 - HandlerThread是一个具有消息循环的线程,在它的内部可以使用Handler。 - IntentService是一个服务,系统对它进行了封装使其可以更方便原创 2017-07-25 17:58:01 · 338 阅读 · 0 评论 -
RemoteViews的内部机制
RemoteViews的作用是在其他进程中显示并更新View的界面,主要用于通知栏和桌面小部件。RemoteViews并不能支持所有的View类型,它所支持的所有类型如下所示:Layout:FrameLayout、LinearLayout、RelativeLayout、GridLayoutView:AnalogClock、Button、Chronometer、IamgeVi原创 2017-07-18 12:55:27 · 394 阅读 · 0 评论 -
View的工作原理
通过看书系统地学习了下View的工作原理,包括measure,layout,draw过程,对View的底层实现理解较为清晰了些,对理解和掌握自定义View也有很大帮助。。。原创 2017-07-17 21:41:07 · 269 阅读 · 0 评论 -
Builder设计模式和AlertDialog的源码分析
Builder模式是一步步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程。该模式是为了将构造复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。栗子:我们通过一个例子来引出Builder模式。假设有一个Person类,我们通过该Person类来构建一大批人,这个Person类里有很多 属性,最常见的比如name,age,we原创 2017-07-20 20:52:14 · 397 阅读 · 0 评论 -
Android中的IPC方式
之前一直对android的IPC机制没什么了解,最近在看了《Android开发艺术探索》后,对其中的多进程间的通信有了一定的了解。算是自己的读书总结笔记吧,主要总结下多进程间的通信的方式原创 2017-05-22 18:06:16 · 540 阅读 · 0 评论 -
源码分析多进程下的SharedPreferences
多进程下的SharedPreferences情况先启动主进程并获取SharedPreferences对象,然后对值进行修改,然后启动其他进程并获取SharedPreferences对象,能取得修改后的值,但此时如果再对此值进行修改,均不能对其他进程产生作用。总结下来就是,其他进程在启动时获取到的SharedPreferences的值只能是这个进程启动前这个值的最后值,即在进程启原创 2017-05-20 10:32:54 · 605 阅读 · 0 评论 -
深入理解LayoutInflater.inflate()
LayoutInflater的使用形如 LayoutInflater.from(context).inflate(R.layout.test,root,true) 的使用在android开发中很常见,但许多人不但不清楚LayoutInflater的inflate()方法的细节,而且甚至在误用它。这里的困惑很大程度上是因为Google上有关attachToRoot(也就是inflate()方法第三个参原创 2017-11-22 22:18:38 · 419 阅读 · 0 评论