性能优化

性能优化

-  因为手机CPU和内存受到限制,过多使用内存会可能会导致内存溢出、过度使用CPU可能会导致手机卡顿,从而出现了我们的性能优化。主要从俩个方面进行优化  1.布局优化、2.内存优化。

布局优化:

布局一样的能复用的就复用,用Include标签,布局较简单的则使用LinearLayout(性能耗费低)。从而避免不需要给Id的控件也给Id占用空间。

布局复杂的则使用RelativeLayout(耗费性能高)。虽然他会在R文件生成很多无用的Id但是他没有层级嵌套。当咱们LinearLayout布局层级嵌套超过四层时我们就要考虑使用RelativeLayout。

因为布局优化的原理是布局层级少->> 绘制的工作量少 ->> 绘制速度快 ->> 性能提高。

内存优化的话分为:内存泄漏的优化,Bi amp的优化,ListView,线程。

内存泄漏只要有:单例模式(咱们通常引用activity的上下文,单例模式的类是静态类,activity销毁时单利类还保持这activity的引用造成GC无法回收。解决方法就是咱们写个全局的App,在onpush()方法执行时赋值为null(这里也包括咱们的静态变量同时也赋值为null)。Bitmap对图片的一个压缩的优化,主要就是通过Options计算出二次采样率然后设置inSampleSize属性按几倍进行压缩,从而得到图片的一个优化。对Bitmap"对象"的优化使用inBitmap的主要作用是复用之前bitmap在内存中申请的内存,其实这是对象池的原理,以解决对象频繁创建再回收的效率问题。(inBitmap只能在3.0以后使用。))还有就是线程,主要就是使用线程池对线程的一个复用,避免重复创建对象和GC的频繁的回收。

你可能感兴趣的:(性能优化)