Android耗时操作

无论使用什么方法建立子线程,考虑下面的问题。

问题一##

如何避免造成内存泄漏?
典型场景是在Activity中创建子线程,耗时操作结束前Activity被finish了。

解决方法一####

切断Activity与子线程的直接联系。
而子线程的创建必须要在主线程中,无论是new Thread还是AsnyckTask,因为Handler的创建必须在主线程。
那么就在Service中创建子线程,为了使Activity结束时不结束Service,只能使用startService。

解决方法二####

在耗时操作前禁止用户退出Activity。
比如百度贴吧发帖,服务器没返回发帖结果前,会一直有个禁止取消的Dialog。
简单暴力。如果产品没有意见,就这样办吧。

问题二##

如果使用方法一,那么回调结果如何改变UI?
关于Service能否直接改变UI,这似乎是一个随机事件……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容