Android中被替代方法的整理
-
Handler handler = new Handler() 被 Handler handler = new Handler(Looper.myLooper())替代
注:Handler的两种启动方式new Hanler和handler.post
总结:消息的发送可通过post的一系列方法,也可通过send的一系列方法,而post方法内部最终也是send方法实现的。Handler.post和handler.sendMessage本质上没有区别,都是发送一个消息到消息队列中,而且消息队列和handler都是依赖于同一个线程的。 sendMessage方法更新UI操作必须在handler的handleMessage方法回调中执行完成,post方法,直接在Runnable中更新UI,这个任务会被添加到handler所在的线程的消息队列中,即主线程的消息队列中。 注意Handler的内存泄漏(OOM)问题,可以使用静态内部类,弱引用解决 -
Environment.getExternalStorageDirectory()被MainActivity.this.getExternalFilesDir("文件名称");//context替代
本文深入探讨了Android开发中常见的优化技巧,包括Handler的正确使用方法及其替代方案,避免内存泄漏的方法,以及如何使用静态内部类和弱引用来解决Handler的内存泄漏问题。同时,文章还介绍了Environment.getExternalStorageDirectory()的替代方法,即使用MainActivity.this.getExternalFilesDir(文件名称)来更好地管理和访问外部存储。

936

被折叠的 条评论
为什么被折叠?



