
Android高级
wangchun8926
这个作者很懒,什么都没留下…
展开
-
Android控件之PopupWindow源码解析
在我前面的博客OSChina Android源代码剖析(6)—首页代码逻辑分析之初始化中涉及到了PopupWindow的介绍,那么,什么是PopupWindow呢?PopupWindow(弹出窗口)实际上是一个子窗口,它是一个独立的类(并不继承于Window),如下所示:在该类的构造方法中主要完成:1.为该类中的mContext赋值,该值可直接来源于构造方法也可原创 2013-01-05 23:12:42 · 2399 阅读 · 0 评论 -
Android内核剖析读书笔记(1)—Framework概述
一、Framework组成1.服务端组成a.WindowManagerService 决定各窗口的叠放次序、隐藏或者显示窗口b.ActivityManagerService 管理应用程序中所有的activityc.KeyQ Wms内部类,继承于KeyInputQueue,一旦创建就会立即启动一个线程负责读取用户的UI相关操作,如,按键、触摸屏等原创 2013-01-15 15:56:20 · 1479 阅读 · 0 评论 -
Android内核剖析读书笔记(2)—理解Context
一、一个应用程序包含多少个Context 应用程序有多少个Activity或者Service,就有多少个Context二、Context相关类的继承关系a.Context: 代表场景的一个抽象类b.ContextWrapper: Context的一个包装,构造函数中包含一个真正的Context引用,同时提原创 2013-02-15 12:41:02 · 790 阅读 · 0 评论 -
Android内核读书笔记(3)—Android内存管理
一、应用程序关闭而不退出 1.关闭-->仅仅是窗口不可见,但其对应的进程还存在 如果后台有许多进程存在的话,只会占用内存空间,而不会降低前台进程的运行速度,为什么? 每个应用程序主体--->ActivityThread,该类初始化后会进入消息循环(Looper.loop)当中原创 2013-02-27 10:15:37 · 890 阅读 · 0 评论 -
Android图片异步加载一之传统的handler+runnable模式
Handler与UI线程是运行在同一线程中的,因为在handler的post(Runnable runnable)方法中,是将Runnable对象放入主线程的消息队列中的(封装成消息对象),该消息队列由Looper管理,然后当handler处理该消息时,会调用Runnable对象的run方法,故使用此方式不能完成图片的异步加载,主界面会等待全部图片加载完成再显示,故此方式会阻塞UI线程布局代码原创 2013-05-29 16:00:15 · 659 阅读 · 0 评论 -
Android IntentService源码详解
一、为什么要重写onHandleIntent方法?public abstract class IntentService extends Service {IntentService也是继承于Service,而Service生命周期无外乎onCreate,onStart,onDestory,所以我们先来看看这几个生命周期方法的实现onCreate: @Override p原创 2013-06-18 10:41:52 · 1547 阅读 · 0 评论 -
AsyncTask的理解
一、AsyncTask调用流程1.在UI线程new AsyncTask实例;2.在UI线程调用execute方法;3.execute会调用AsyncTask的executeOnExecutor方法,如下图:该方法会在UI线程上调用onPreExecute4.调用publishProgress方法5.publishPro原创 2016-02-06 10:42:38 · 328 阅读 · 0 评论 -
android系统启动流程图
原创 2016-02-14 14:35:47 · 572 阅读 · 0 评论