1. 采用硬件加速,在androidmanifest.xml中application添加 android:hardwareAccelerated=“true”。不过这个需要在android 3.0才可以使用。
  2. View中设置缓存属性.setDrawingCache为true.
  3. 优化你的布局。通过Android sdk中tools目录下的layoutopt 命令查看你的布局是否需要优化。
  4. 动态加载View. 采用ViewStub 避免一些不经常的视图长期握住引用。
  5. 将Acitivity 中的Window 的背景图设置为空。getWindow().setBackgroundDrawable(null);android的默认背景是不是为空。
  6. 采用<merge> 优化布局层数。 采用<include>来共享布局。
  7. 查看Heap 的大小
  8. 利用TraceView查看跟踪函数调用。有的放矢的优化。
  9. cursor 的使用。不过要注意管理好cursor,不要每次打开关闭cursor.因为打开关闭Cursor非常耗时。 Cursor.require用于刷新cursor.
  10. 采用环形Buffer(可以采用链表数据结构实现)。可以设置一个链表长度的上限,根据手势的变化来不断地更新环形Buffer的内容。
  11. 采用SurfaceView在子线程刷新UI, 避免手势的处理和绘制在同一UI线程(普通View都这样做)。
  12. 采用JNI,将耗时间的处理放到c/c++层来处理。
  13. 有些能用文件操作的,尽量采用文件操作,文件操作的速度比数据库的操作要快10倍左右。
  14. 懒加载和缓存机制。访问网络的耗时操作启动一个新线程来做,而不要再UI线程来做。

更多相关文章

  1. Android常用的两种基本布局——线性布局LinearLayout和相对布局R
  2. Flutter UI基础 - 布局之Row/Column/Stack
  3. [Android]带你了解 Android 约束布局 ConstraintLayout
  4. Android——六大基本布局总结
  5. Android开发UI之在子线程中更新UI
  6. Android国际化和布局

随机推荐

  1. Android(安卓)IPC进程间通信详解最新Andr
  2. android实习生面经
  3. PHP变量数据类型,变量和常量的定义以及数
  4. 今日报错系列:未定义的SYSTEMTIME
  5. 什么最宝贵呢?
  6. 初识PHP变量与常量
  7. php的变量&常量
  8. HCIA-子网划分
  9. 跟自己的战斗
  10. 很多人已经学会了应对恐惧和焦虑的秘诀