![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android 优化
zJianFlys
跌倒了,爬起来再哭...
展开
-
初级优化
1. 对于明确不需要派生的类,添加final修饰符,此时该类的所有方法都是final的。Java编译器会寻找机会内联(inline)所有的final方法。(能使性能提升50%)2. 尽量重用对象,避免生成过多的对象。对于String的连接,用StringBuffer代替。3. 尽量少用全局变量如static等(heap中创建,慢),多用局部变量(Stack中创建,快)。4. 不要重复初转载 2015-06-22 23:23:35 · 471 阅读 · 0 评论 -
WeakReference 在android中的应用
首先我们来看一段代码public class AutoActivity extends Activity { Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { }; }; @Override转载 2016-07-06 23:10:30 · 560 阅读 · 0 评论 -
Java之WeakReference与SoftReference使用讲解
如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集的执行绪清除,你必须要用一个 reference 记住此对象,以便随时观察,但是却因此造成此对象的 reference 数目一直无法为零, 使得对象无法被清除。java.lang.ref.WeakReference不过,现在有了 Weak Reference 之后,这就可以迎刃而解了。如果你希望能随时取得某对象的信息转载 2016-07-06 22:56:49 · 504 阅读 · 0 评论 -
Java 引用 WeakReference
Reference 是一个抽象类,而 SoftReference,WeakReference,PhantomReference 以及 FinalReference 都是继承它的具体类。接下来我们来分别介绍和分析强引用以及 java.lang.ref 包下各种虚引用的特性及用法。StrongReference, SoftReference, WeakReference 以及 Phanto转载 2016-07-06 22:47:04 · 339 阅读 · 0 评论 -
Java WeakReference的理解与使用
国外一个技术面试官在面试senior java developer的时候, 问到一个weak reference相关的问题. 他没有期望有人能够完整解释清楚weak reference是什么, 怎么用, 只是期望有人能够提到这个concept和java的GC相关. 很可惜的是, 20多个拥有5年以上java开发经验的面试者中, 只有两人知道weak reference的存在, 而其中只有一人实际用转载 2016-07-06 22:36:48 · 478 阅读 · 0 评论 -
Android性能优化之常见的内存泄漏
原址:点击打开链接前言对于内存泄漏,我想大家在开发中肯定都遇到过,只不过内存泄漏对我们来说并不是可见的,因为它是在堆中活动,而要想检测程序中是否有内存泄漏的产生,通常我们可以借助LeakCanary、MAT等工具来检测应用程序是否存在内存泄漏,MAT是一款强大的内存分析工具,功能繁多而复杂,而LeakCanary则是由Square开源的一款轻量第三方内存泄漏检测工具,当它检测到转载 2015-11-24 23:07:24 · 634 阅读 · 0 评论 -
Android 中View类DrawingCache的使用
View组件显示的内容可以通过cache机制保存为bitmap, 主要有以下方法:void setDrawingCacheEnabled(boolean flag), Bitmap getDrawingCache(boolean autoScale), void buildDrawingCache(boolean autoScale转载 2016-07-14 13:36:26 · 608 阅读 · 0 评论 -
手机适配----资源适配篇(values)
现在Android智能手机在市场上非常普遍,各式各样的款式,各种类型,各种屏幕大小不一,真的挺为用户感到高兴,但有部分人还是挺郁闷的,那就是程序猿,为什么这样说呢?现在的android程序猿工作量非常大,在哪方面体现呢?那就是对手机进行适配。什么是适配,那就是要将某个应用在不同屏幕上显示效果要一致或者是不能乱。上面的是作为android开发工程师的感受,现进入正题:要做到适配,那先转载 2016-05-26 22:32:48 · 758 阅读 · 0 评论 -
尽量确定StringBuffer的容量
StringBuffer的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再丢弃旧的数组。在大多数情况下,你可以在创建StringBuffer的时候指定大小,这样就避免了在容量不够的时候自动增长,以提高性能。 如: StringBuffer buffer = new StringBuffer(100原创 2015-07-26 22:47:55 · 2058 阅读 · 0 评论 -
java 中for循环的性能测试
import java.util.ArrayList;import java.util.List;public class BB { /** * for循环性能测试 */ public static void main(String[] args) { List list = new ArrayList(); for (int i = 0; i < 1000; i+原创 2015-07-26 22:32:18 · 1115 阅读 · 0 评论 -
性能优化注意点
1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: • 控制资源的使用,通过线程同步来控制资源的并发访问; • 控制实例的产生,以达到节约资源的目的; • 控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2.尽量避免随意使用静态变转载 2015-07-26 22:56:08 · 471 阅读 · 0 评论 -
Android研发规范
http://blog.csdn.net/wwj_748/article/details/423472831、Android编码规范包命名规范包(packages):采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xxx(可以是公司域名或者个人命名),三级包名根据应用进行命名,四级包名为模块名或层级名。包名说明转载 2016-11-15 22:51:09 · 392 阅读 · 0 评论