美文网首页
Android耗时操作

Android耗时操作

作者: 猫侠 | 来源:发表于2017-06-09 09:33 被阅读0次

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

问题一##

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

解决方法一####

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

解决方法二####

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

问题二##

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

相关文章

  • Android耗时操作

    无论使用什么方法建立子线程,考虑下面的问题。 问题一## 如何避免造成内存泄漏?典型场景是在Activity中创建...

  • 「Android 学习计划」之线程池

    前言 由于 Android 系统不能在 UI 线程进行耗时的操作,通常我们会在子线程处理耗时操作。简单的写法就是就...

  • APP启动优化,你应该没看到过这样子的

    一、检测APP启动耗时 用Android系统Debug API 生成文件,记录启动耗时操作。 用AndroidSt...

  • Android Loader 机制,让你的数据加载更加轻松

    前言 在 Android 中,任何耗时的操作都不能放在 UI 线程中,所以耗时的操作都需要使用异步加载来实现。其实...

  • 无标题文章

    --如何处理android多线程安全不要堵塞UI线程,不在主线程中做耗时操作的处理,可以开启子线程去执行耗时操作 ...

  • Android收发消息过程介绍

    在Android中,只能通过主线程更新UI。而主线程中又不能进行耗时操作,不然就会报ANR(无响应)。那么耗时操作...

  • Android Handler消息机制详解

    在Android中,只有主线程才能更新UI,但是主线程不能进行耗时操作,否则会产生ANR异常,所以常常把耗时操作放...

  • Android异步精髓Handler分析

    前言 我们都知道在Android中有个不成文的规定 主线程可以刷新ui,不能执行耗时操作 子线程中可以进行耗时操作...

  • Android异步任务实现详解

    在Android开发中,主线程(UI线程)不能执行耗时的操作,通常将一些耗时的操作使用异步任务的方式进行处理,简单...

  • Android Handler消息机制详解

    在Android中,只有主线程才能更新UI,但是主线程不能进行耗时操作,否则会产生ANR异常,所以常常把耗时操作放...

网友评论

      本文标题:Android耗时操作

      本文链接:https://www.haomeiwen.com/subject/isnzyttx.html