随笔分类 - Android
摘要:GitHub源码:Android-Universal-Image-LoaderFeaturesMultithread image loading (async or sync) 多线程加载(同步或异步)Wide customization of ImageLoader's configuration...
阅读全文
摘要:AsyncHttpClient它把HTTP所有的通信细节全部封装在了内部,我们只需要简单调用几行代码就可以完成通信操作Universal-Image-Loader它使得在界面上显示网络图片的操作变得极度简单,开发者不用关心如何从网络上获取图片,也不用关心开启线程、回收图片资源等细节Volley它的设...
阅读全文
摘要:ExecutorService Executorspublic class Executors// 创建一个线程池,使用固定数量的线程操作共享无界队列。 public static ExecutorService newFixedThreadPool(int nThreads) { ...
阅读全文
摘要:源码:/frameworks/base/core/java/android/util/LruCache.java文件开篇注释如下:A cache that holds strong references to a limited number of values. Each time a value...
阅读全文
摘要:大神原网址: http://blog.csdn.net/lmj623565791/article/details/41874561思路:1. 压缩图片 压缩本地图片:获得imageview想要显示的大小 ->设置合适的inSampleSize 压缩网络图片: a.硬盘缓存开启 ->直接下载存...
阅读全文
摘要:自定义View,1. 自定义一个Runnable线程TouchEventCountThread, 用来统计500ms内的点击次数2. 在MyView中的 onTouchEvent 中调用 上面的线程3. 自定义一个Handler, 在TouchEventHandler中 处理 统计到的点击事件, 单...
阅读全文
摘要:View.java源码:/frameworks/base/core/java/android/view/View.javaView.java的dispatchTouchEvent 方法: 经过一系列的处理后,将TouchEvent传递给 onTouch 或 onTouchEvent /** ...
阅读全文
摘要:Android资源管理框架实际就是由AssetManager和Resources两个类来实现的。其中,Resources类可以根据ID来查找资源,而AssetManager类根据文件名来查找资源。事实上,如果一个资源ID对应的是一个文件,那么Resources类是先根据ID来找到资源文件名称,然...
阅读全文
摘要:一个Android应用程序窗口里面包含了很多UI元素,这些UI元素是以树形结构来组织的,即它们存在着父子关系,其中,子UI元素位于父UI元素里面,因此,在绘制一个Android应用程序窗口的UI之前,我们首先要确定它里面的各个子UI元素在父UI元素里面的大小以及位置。确定各个子UI元素在父UI元...
阅读全文
摘要:Activity组件与WindowManagerService服务之间的连接模型如下图所示:1.Activity组件 -> WindowManagerService的连接 Activity会从WMS中获得一个实现了IWindowSession接口的Session代理对象来标志2.WindowMan...
阅读全文
摘要:与Activity组件所关联的窗口对象的实际类型为PhoneWindow,后者是从Window类继承下来的。 Activity、Window和PhoneWindow三个类的关系如下 PhoneWindow对象是从Activity类的成员函数attach中创建的
阅读全文
摘要:特定的资源或者类构成了Android应用程序的运行上下文环境 PackageManager, ClassLoader, Assert等等 Android应用程序窗口的运行上下文环境是通过ContextImpl类来描述的,即每一个Activity组件都关联有一个ContextImpl对象。...
阅读全文
摘要:Activity组件的UI实现需要与WindowManagerService服务和SurfaceFlinger服务进行交互 1.Activity组件在启动完成后,会通过一个类型为Session的Binder对象来请求WindowManagerService为它创建一个类型为WindowStat...
阅读全文
摘要:SurfaceFlinger服务负责绘制Android应用程序的UI 实现相当复杂,要从正面分析它的实现不是一件容易的事。既然不能从正面分析,我们就想办法从侧面分析。说到底,无论SurfaceFlinger服务有多复杂,它都是为Android应用程序服务的,因此,我们就从Android应用程序与S...
阅读全文
摘要:Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例(MesageQueue),应用程序的主线程不断地从这个消息队例中获取消息(Mesage),然后对这些消息进行处理(Handler),这样就实现了通过消息来驱动应用程序的执行. ActivityManagerServi...
阅读全文
摘要:Dalvik模式 如果要解释清楚什么是ART模式,我们就需要从Android系统的应用编译模式说起,我们都知道Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底...
阅读全文
摘要:从前面Dalvik虚拟机的运行过程分析一文可以知道,Dalvik虚拟机除了可以执行Java代码之外,还可以执行Native代码,也就是C/C++函数.这些C/C++函数在执行的过程中,又可以通过本地操作系统提供的系统调用来创建本地操作系统进程或者线程,也就是Linux进程和线程。如果在Nativ...
阅读全文
摘要:Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个Andr...
阅读全文
摘要:栈顶单例模式和standard模式一样, 只有Activity已经存在并且位于栈顶时, 不会重新创建. 其他时候都会创建新的Activity,然后放在栈顶
阅读全文
摘要:全局单例模式如果 是新建Activity, 则新建一个Task, 然后将ActivityRecord单独放在其中如果已经存在这个Activity, 则直接将这个Activity转到前台
阅读全文

浙公网安备 33010602011771号