0

我想知道AsyncTask在我的应用程序中使用每个活动是否是一个好习惯?我需要提高我的活动加载速度,并且AsyncTask应该做到这一点。这样做有风险吗?

4

5 回答 5

3

如果您想确定什么需要时间,请使用Traceview来分析活动。在确定导致延迟的罪魁祸首之前尝试优化通常是一个坏主意。

话虽如此,您应该启用严格模式以尽早发现性能错误。

祝你好运!

于 2013-08-13T09:55:07.503 回答
1

根据 developer.google 说:

AsyncTask 允许正确和轻松地使用 UI 线程。此类允许在 UI 线程上执行后台操作并发布结果,而无需操作线程和/或处理程序。

您可以在不asynctask低于 API 级别 10 的情况下执行所有流程。但只要有可能,您就应该使用它

您的流程将需要很长时间才能执行,并且它正在您的主 UI 上运行。这种类型的过程可能就像您正在连接到服务器、使用互联网、下载一些图像、运行一个 url。在上述所有情况下,您必须使用异步任务,以便这些进程不会在 MainUI 上运行并且不会阻塞您的 main 。

此链接将以某种方式帮助您。:)

于 2013-08-13T10:13:56.683 回答
0

这取决于你真正想要什么。你必须记住,你不可能拥有一切。如果你想提高速度,你将不得不释放空间。AsyncTasks 会占用更多空间。

每次你都会在内存 x 处理之间有这种关系

于 2013-08-13T09:53:32.500 回答
0

通过调用 AsyncTask,您最终会创建另一个由系统维护的线程。所以,取决于你必须在活动中加载什么。如果你的加载是繁重的操作,那么你应该调用 asysnctask 而不是阻塞你的 UI 线程。您的应用程序最终将在运行时消耗更多内存..

于 2013-08-13T09:54:24.030 回答
0

简短的回答:如果它像你说的那样提高速度。比它还不错的做法。

于 2013-08-13T10:00:34.037 回答