Android性能优化(1)

来源:互联网 发布:docker python 编辑:程序博客网 时间:2024/06/05 15:38

单例模式使用context引起的内存泄漏

具体案例:CommonUtils.class

public class CommonUtils {public static CommonUtils instance;public Context mContext;public CommonUtils(Context context){    this.mContext=context;}public static CommonUtils getInstance(Context context){    if(instance==null){        instance=new CommonUtils(context);       synchronized (CommonUtils.class){            if(instance==null){                instance=new CommonUtils( context);            }        }    }    return instance;}}

MainActivity.class

 public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    CommonUtils utils=CommonUtils.getInstance(this);}}

通过使用Android Monitor Memory来分析是否发生了MemoryLeak

解决方案:使用Application的上下文。

0 0
原创粉丝点击