- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 Android View杂谈
1. View 的刷新过程 要想刷新一个View, 可以在UI线程中直接调用他的Invalidate() 或者是postInvalidate(), 在非UI线程就只能使用postInvalidate()了。posdtInvalidate其实调用的是AttachInfo中保存的ViewRoot的DispatchInvalidateDelayed(0), 这个方法本质就是Handler se
2015-03-10 20:19:55
282
原创 Java 垃圾回收机制整理
Java VM的内存分为两种:栈 Stack和堆 Heap。栈主要是存放内存指令区域,Heap存放内存数据。栈中的数据都是定长的。类的静态属性存放于栈中,非静态属性存放于Heap数据区。Heap内的数据只有通过stack中的地址才能访问,因为静态属性必须位于stack指令区中。Java VM的垃圾回收机制主要有两种:引用计数和引用对象遍历。这都是针对Heap数据区的,因为stack的内存是
2015-03-10 17:52:22
307
原创 Java中sleep Wait yield Suspend的区别
三者都可以使得当前的线程退出执行状态,但是有些使得当前线程进入阻塞状态,有的却不会Sleep 线程进入阻塞状态,不能得到CPU执行时间,只有等待时间够长之后才会使线程重新进入可执行状态。 调用sleep时线程不会释放他的锁标识。Wait wait需和notify配合使用,线程调用wait后进入阻塞状态。wait有两只形式,一种是包含固定时长参数,另一种不包含固定
2015-03-10 10:19:16
2176
原创 android 3.0 升级的部分内容
1.新增 Fragment 2. 新增ActionBar3. 硬件加速 HardWareAccelerated, 充分利用GPU, 在绘制View的时候硬件加速,但是会消耗更多的内存4. CursorLoader 可以异步查询数据库,避免了同步查询时阻塞UI的问题,当数据库内容发生变化时也不必需要使用ContentObserver监听了。
2015-03-09 18:25:53
230
原创 Android 4种启动模式launchMode
Android启动一个Activity有多种方式,可能是启动一个新的Acticity,也可能是重用之前已经创建的Activity实例;可能和之前的Activity位于同一个任务栈中,也可能是位于一个新的任务栈中。这些迥异的行为是由Activity的启动模式来决定的。众所周知的是Android有4中启动模式,分别是:Standard,SingleTop, SingleTask和SingleInsta
2015-01-27 20:37:13
331
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人