android性能优化

 

 

2、优化  http://www.jianshu.com/p/f7006ab64da7

 内存优化

开发开始选取比较优秀的第三方框架,使用leakcanary检测内存泄露,使用低配机做开发测试机发现 ANR(卡顿,无响应)的界面,使用简单的树形结构布局,

OOM(数据库,文件流游标对象的关闭,

适配器中的convertView的复用、

  图片的缓存内存缓存LruCache内存缓存,文件缓存

  尽量少的使用全局变量、避免使用枚举、

  避免长生命周期对象被短生命周期对象引用,比如activity中使用Handler

  使用线程池管理线程

bitmap的释放,软引用,压缩

  1. // 先判断是否已经回收  
  2. if(bitmap != null && !bitmap.isRecycled()){  
  3.     // 回收并且置为null  
  4.     bitmap.recycle();  
  5.     bitmap = null;  
  6.  
  7. //使用软引用 
  1. public Bitmap getBitmapByPath(String path) {  
  2.         // 从缓存中取软引用的Bitmap对象  
  3.         SoftReference<Bitmap> softBitmap = imageCache.get(path);  
  4.         // 判断是否存在软引用  
  5.         if (softBitmap == null) {  
  6.             return null;  
  7.         }  
  8.         // 取出Bitmap对象,如果由于内存不足Bitmap被回收,将取得空  
  9.         Bitmap bitmap = softBitmap.get();  
  10.         return bitmap;  
  11.     }  

  

  1. Java内存管理及垃圾回收机制
  2. Android的内存管理
  3. 常用的内存分析工具
  4. 内存泄露实例分析

  分析工具:TraceView,Heap,Android Memory Monitor,Hierarchy Viewer(/hai e ra kei/View层级分析),利用log打印时间判断耗时

 

      UI优化合理布局,使用兼容、优秀的控件,避免(重复绘制,频繁刷新,计算尺寸

      电量优化,优化网络调用减少刷新,GPS定位减少更新频率,合理使用后台服务service

   

网络访问框架:okhttp、retrofit、android-async-http、volley
图片加载框架:Android-Universal-Image-Loader、Glide、Fresco、Picasso
缓存框架:DiskLruCache、 Robospice
Json解析框架:Gson、Fastjson、Jackson
事件总线:EventBus、Otto
ORM框架:GreenDAO、Litepal
还有其他各种各样开源的自定义控件、动画等。除了以上提到的开源框架,也包括一些不开源的SDK
数据统计:友盟统计,百度统计,谷歌统计
奔溃搜集:腾讯bugly、bugtags...
云存储:七牛...
即使通讯:环信、融云、阿里百川...
推送:小米推送、腾讯推送、百度推送...
安全加固:360加固宝、爱加密.

 

 

 

  • JNI开发流程
  • AIDL流程
  • 事件处理机制
  • 反射机制,应用,注解
  • Handler机制和AsyncTask原理,线程池
  • apk文件的格式,android的框架结构
  • activity和fragment声明周期,activityA打开activityB各生命周期的调用
  • 自定义view的流程注意点
  • 设计框架和设计模式
  • 屏幕适配和手机适配
  • 内存优化,网络优化,电量优化,安全优化
  • 图片加载框架和原理,图片处理压缩
  •  

 

 

 

 

            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值