【Android】性能优化的一些方法
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线程来做。
最新文章
- jdk1.6 webService 客户端代码生成和测试
- 【BZOJ-3165】Segment 李超线段树(标记永久化)
- 剑指Offer 二叉树中和为某一值的路径(dfs)
- 创建DirectInput接口对象说明---(void **)&;m_pDI
- Long和Date数据类型之间相互转换代码 - 调整时间推前往后,截取long型日期方法。
- Python在Windows下开发环境配置汇总
- HTML5 + CSS3 + JavaScript
- __autoload()方法
- angular change the url , prevent reloading
- FreeType in OpenCASCADE
- 【C#】时间类型修改
- html入门第二天。
- java语句中的重定向函数
- Yii2 数据搜索类 PostSearch
- Oracle 傻瓜式数据归档
- poj-3067(树状数组)
- ASP.NET Core 依赖注入最佳实践——提示与技巧
- c++ istringstream的用法
- Jmeter - 分布式部署负载机
- Boot 横向布局
热门文章
- strncpy的用法
- queue之#单向消息队列
- 关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案
- springmvc框架原理分析和简单入门程序
- Oracle12c Release1 安装图解(详解)
- SpringMvc + Jsp+ 富文本 kindeditor 进行 图片ftp上传nginx服务器 实现
- Jquery如何获取iframe里面body的html呢?
- (五)STL算法
- 【python】threadpool的内存占用问题
- git bash中的快捷键