Android性能优化

Android程序不能无限制的使用设备的内存和CPU。正如经典所说,设备的资源不是给程序员用的,是给用户用的。在编写程序时,应该经常注意内存

Android消息机制

在非UI线程使用Handler进行线程通信时,一般都需要进行3个步骤: 创建Looper Looper.prepar() 创建Handler 启动消息循环Looper.loop

Android面试题

1. ==和equals的区别 ==比较的是在对象在栈里的地址是否相同,是绝对比较 equals是比较对象的属性,通过实现继承自Object的equ

Android高效加载大图

通过BitmapFactory的decode方法设置特定的options缩小图片到指定尺寸 1:通过加载设置了只编码图片边界options的图

ArrayList-LinkedList-Vector区别

ArrayList,LinkedList,Vector 均是List接口的子类 ArrayList LinkedList Vector 实现结构 数组 双向链表 数组 初始容量 10 无 10 扩充容量 1.5倍(int newCapacity = oldCapacity+(oldCapacity >> 1);) 无扩容操作 2倍(int newCapacity = oldCapacity + ((capacityIncrement > 0) ?

AsyncTask Source Code

AsyncTask类的初始化过程 初始化阶段: 初始化线程池THREAD_POOL_EXECUTOR。用于执行任务。 构造一个负责调度线程的线程池

BlockingQueue-CountDownLatch

BlockingQueue:Java提供的线程安全的队列接口。 CountDownWatch:可用来让一个线程一直等待watch的值为0,另一