Android-App性能优化
2017-01-05 22:08
281 查看
代码的优化
数据结构的选择
SpareArray代替HashMapSpareBooleanArray
SpareIntArrary
SpareLongArrary
SpareArray <.String.>
SpareArray线程不安全的
要进行二分查找,SpareArray会对插入的数据按照Key值大小顺序插入
对删除做了优化 不会立即删除而是通过设置标识位(DELETED)方式.
Handler和内部类的正确用法
待补充Context的正确使用
//待补充Java的四种引用方式
强 软 弱 虚图片的优化
布局的优化
优化布局层级降低View树的高度,建议不超过10层
RelativeLayout相对LineraLayout更能够减少树的高度.
使用<.include>标签重用Layout
在很多共通的UI上,可以建立一个简单的布局,通过<.include>标签的layout属性添加布局,并通过android:layout_XXXX的属性来设置特征.
使用<.ViewStub>实现View的延迟加载 ViewStub是XML中的标签,
ViewStub标签和View.GONE的区别 View.GONE在初始化布局树的时候就已经添加了,ViewStub只有在显示的时候才渲染整个布局
mViewStub= (ViewStub) findViewById(R.id.veiwStub); //第一种方式 mViewStub.setVisibility(View.VISIBLE); //第二种方式 View inflateView=mViewStub.inflate(); //第二种方式的区别就是可以返回引用的布局 TextView textView= (TextView) inflateView.findViewById(R.id.tv); textView.setText("Panda");
通过Hierarchy Viewer工具进行布局的优化
内存的优化
所谓的内存分析是在堆(Heap),分析内存状态ActivityManager manager= (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); int heapSize=manager.getLargeMemoryClass();
获取内存的信息
1.process stats
通过’Setting-Developer options-Process Stats来开启该功能
命令:adb shell dumpsys procstats
2.Meminfo
可以通过setting-apps-running打开
命令:adb shell dumpsys meminfo
Bitmap的优化
Bitmap是造成内存占用过高和OOM的最大威胁
使用适当分辨率大小的图片
及时回收内存 bitmap.recycle();
使用图片缓存 内存缓存(LruCache)和硬盘缓存(DiskLruCache)
代码的优化
创建一个类的实例会消耗大概15字节的内存,优化总结如下:
对常量使用static修饰符
使用静态方法,静态方法比普通方法提高15%左右的访问速度
减少不必要的成员变量.(在Lint工具做了集成检测了)
减少不必要的对象,使用基础类型会比使用对象更加节省资源
尽量不要用枚举类 少用迭代器
对Cursor Receiver Sensor File等对象,一定要注意他们的创建,回收,注册,解注册
避免使用IOC框架,因为通常使用注解和反射来实现,会带来性能的下降
使用RenderScript OpenGL来进行复杂的绘图操作
使用SurfaceView替代View进行大量 频繁的绘图操作
尽量使用视图缓存,不是每次都执行inflate()方法解析视图
Lint工具
可以给布局 代码提供强大的帮助.
Memory Monitor工具
TraceView工具优化APP性能
Debug类方法开启TraceView监听
Debug.startMethodTracing(); Debug.stopMethodTracing();
开始和结束包围要监听的代码块
MAT工具分析App内存状态
相关文章推荐
- 如何优化Html5 App 在IOS/Android 上的性能
- Android App性能优化(一)之布局优化
- 十大技巧优化Android App性能
- 十大技巧优化Android App性能
- 优化Android App性能?十大技巧
- 优化Android App性能?十大技巧
- Android App 性能优化
- 十大技巧优化Android App性能
- 优化Android App性能?十大技巧
- 十大技巧优化Android App性能
- Android App 性能优化
- 优化Android App性能
- 优化Android App性能?十大技巧必知!
- 优化Android App性能?十大技巧
- Android App 性能优化
- Android App性能优化(一)之布局优化
- Android App性能优化笔记之一:性能优化是什么及为什么?
- Android App 性能优化
- Android App 性能优化
- Android App 性能优化