本文内容来源于最近一次内部分享的总结,没来得及详细整理,见谅。 本次分享主要对内存泄露和线程安全这两个问题进行一些说明,内部代码扫描发现的BUG大致分为四类:1)空指针;2)除0;3)内存、资源泄露;4)线程安全。第一、二个问题属于编码考虑不周,第三、四个问题则需要更深入的分析。 ...
本文内容来源于最近一次内部分享的总结,没来得及详细整理,见谅。
本次分享主要对内存泄露和线程安全这两个问题进行一些说明,内部代码扫描发现的BUG大致分为四类:1)空指针;2)除0;3)内存、资源泄露;4)线程安全。第一、二个问题属于编码考虑不周,第三、四个问题则需要更深入的分析。
- 内存泄露
- 线程安全
一、内存泄露
1、很抱歉,”XXX”已停止运行。OOM?
怎样才能让app报OOM呢?最简单的办法如下:
Bitmap bt1 = BitmapFactory.decodeResource(this.getResources(), R.drawable.image);Bitmap bt2 = BitmapFactory.decodeResource(this.getResources(), R.drawable.image);Bitmap btn = ...
黑客的代码获取了MyObject对象的锁,导致doSomething死锁,从而引发Denial of Service。
public class MyObject { //locks on the class object's monitor public static synchronized void doSomething() { // ... }}// 黑客的代码synchronized (MyObject.class) { while (true) { Thread.sleep(Integer.MAX_VALUE); // Indefinitely delay MyObject }}
原标题:Android开发笔记常见BUG类型之内存泄露与线程安全
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。