【发布时间】:2013-08-13 09:51:30
【问题描述】:
我想知道在我的应用程序的每个活动中使用AsyncTask 是否是一种好习惯?我需要提高我的活动加载速度,AsyncTask 应该可以解决问题。这样做有风险吗?
【问题讨论】:
标签: android android-activity android-asynctask
我想知道在我的应用程序的每个活动中使用AsyncTask 是否是一种好习惯?我需要提高我的活动加载速度,AsyncTask 应该可以解决问题。这样做有风险吗?
【问题讨论】:
标签: android android-activity android-asynctask
【讨论】:
根据 developer.google 所说:
AsyncTask 允许正确且轻松地使用 UI 线程。此类允许在 UI 线程上执行后台操作并发布结果,而无需操作线程和/或处理程序。
您可以在没有低于 API 级别 10 的asynctask 的情况下执行所有流程。
但你应该在有可能时使用它
您的流程将需要很长时间才能执行,并且它正在您的主 UI 上运行。 这种类型的过程可能就像您正在连接到服务器、使用互联网、下载一些图像、运行一个 url。在上述所有情况下,您都必须使用异步任务,以便这些进程不会在 MainUI 上运行并且不会阻塞您的 main 。
此链接将以某种方式帮助您。 :)
【讨论】:
gridview 中的图像质量可能会降低应用程序的速度。我仍然可以尝试通过降低图像质量来解决它。
这取决于你真正想要什么。你必须记住,你不可能拥有一切。如果你想提高速度,你将不得不释放空间。 AsyncTasks 会占用更多空间。
每次你都会有内存 x 处理之间的这种关系
【讨论】:
简短的回答:如果它像你说的那样提高了速度。比这还不错。
【讨论】:
通过调用 AsyncTask,你最终会创建另一个由系统维护的线程。所以,取决于你必须在活动中加载什么。如果你的加载是繁重的操作,那么你应该调用 asysnctask 而不是阻塞你的 UI 线程。您的应用程序最终只会在运行时消耗更多内存..
【讨论】: