
Android FrameWork
文章平均质量分 75
fyfcauc
这个作者很懒,什么都没留下…
展开
-
Android轻量级ORM框架ActiveAndroid入门教程
ActiveAndroid算是一个轻量级的ORM框架,简单地通过如save()和delete()等方法来做到增删改查等操作。配置起来也还算简单。开始在AndroidManifest.xml中我们需要添加这两个 AA_DB_NAME (这个name不能改,但是是可选的,如果不写的话 是默认的"Application.db"这个值)AA_DB_VERSION (optional –转载 2015-04-03 16:55:05 · 456 阅读 · 0 评论 -
Android Measure 体系简单总结
Android对View的测量是半协商半强制半模糊半具体的.测量过程中的两套尺寸体系: [半强制] ParentView**约束ChildView: **MeasureSpec(通过measure方法传递给ChildView, MeasureSpec本身包含了两类信息: SpecMode和SpecSize): SpecMode = EXACTLY: 给ChildView指定了具体尺寸[半具体]原创 2017-01-09 14:04:55 · 1795 阅读 · 0 评论 -
RecyclerView机制解析: ChildHelper
RecyclerView在处理消失动画时采用了和Animation/LayoutTranslation相似的策略:某个ChildView需要渐变消失动画效果,那么该ChildView在动画结束前不会从ViewGroup中被remove掉,在动画运行完以后才会被remove掉。上述策略显然会造成不一致:Data中,ChildView对应的Item已经被remove了(数据remove不会因为有动画就延原创 2017-01-07 15:58:28 · 2681 阅读 · 0 评论 -
Android ActivityManagerService 笔记(1)
ActiivtyManagerService的main(..)(该函数被调用的地方是是SystemServer.java的ServerThread的initAndLoop(),其所在线程是调用SystemServer.main(…)的线程): 先new一个AThread thr并启动, 然后一直无限循环thr.wait()直到thr.mService(ActivityManagerService原创 2016-04-03 14:48:33 · 798 阅读 · 0 评论 -
ActiveAndroid的建表跟踪
ActiveAndroid的建表跟踪: ActiveAndroid扩展过的ContentProvider在Application创建的时候就会被创建,从而回调到onCreate()函数.onCreate()中调用了ActiveAndroid.initialize(getConfiguration())ActiveAndroid的initialize(…)会进一步调用到Cache.initial原创 2015-10-26 13:14:22 · 855 阅读 · 0 评论 -
Android Binder机制源码笔记(1)
Binder在java层的实现其实是对native层的封装(Binder.java中一堆的native方法),因此主要分析的应该是native层.android_util_Binder.cpp:对于java层的native方法在这里进行了register,已和c/c++层对应起来:构造一个JNINativeMethod数组,里面存储了Binder的java方法和cpp方法的映射: /* nam原创 2015-06-03 14:29:52 · 839 阅读 · 1 评论 -
Volley 源码笔记(2)
DiskBasedCache implements Cache:顾名思义,这个Cache系统是基于磁盘的,cache文件都保存在磁盘上.DiskBasedCache接受一个File对象(cache文件存放的磁盘目录)和一个int(最大的cache字节数)作为自己的构造参数.initialize()会对cache目录进行初始化,如果cache目录不存在,那么就会创建一个, 然后开始扫描cache目原创 2015-06-18 15:48:49 · 406 阅读 · 0 评论 -
ActionBar隐藏与出现
项目做了一次小的启动优化, 由于某种原因,launchActivity被我拿掉直接并到了MainActivity里(专门为launch的splash准备一个Activity其实挺浪费的). 结果出现了著名的启动白屏问题, 这个问题之前就碰到过,root cause其实是android的渲染层机制,直接原因就是因为Activity使用了ActionBar(当然了,不知道sherlockactionb原创 2015-05-16 10:45:52 · 710 阅读 · 0 评论 -
ActiveAndroid 源码阅读笔记 (1)
新公司忙成狗,不过hold过来,但是因为自己之前android涉猎contentprovider和SQLiteDB很少,因此有些碰壁,决定读一遍ActiveAndroid这个DB操作封装集成框架的源码,补补这一块。ActiveAndroid源码解析:首先需要对数据库本身有一定的了解,很多类本身对应的就是SQL的一个组件/概念/操作。1. Annoation分析: java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。原创 2015-04-28 16:34:38 · 771 阅读 · 0 评论 -
Android Adapter 源码笔记(1)
Adapter, Android中最常见和明显的设计模式运用,Android中的Adapter主要指的是负责适配AdapterView和Data之间的adapter,可以认为是MVC中的V. Android的Adapter家族还是挺庞大的,base 接口就是Adapter Interface,还和之前一样,一个Interface的源码阅读的价值主要在于基本接口使用guide/抽象设计理念/注释中的要原创 2015-05-10 20:51:41 · 495 阅读 · 0 评论 -
RecyclerView机制解析: Measure
RecyclerView将布局的职责委托给了LayoutManager类,而测量和布局联系很紧密,因此测量的一部分逻辑也被委托给了LayoutManager,RecyclerView大多数情况下会基于LayoutManager布局之后的ChildView分布情况来决定自己的最终尺寸。RecyclerView支持两种measure模式,取决于LayoutManager的mAutoMeasure属性:原创 2017-01-09 17:50:13 · 2905 阅读 · 0 评论