1

可以说我在 Activity 中有一个私有类 AsyncTask。此活动执行此 Asynctask 并在 doInBackground() 中从 Web 加载数据。在 onPostExecute() 中,它更改/更新 Activity 的 UI 组件。

这是我的问题。1.把Activity和Asynctask分开总是一个好习惯吗?我问这个是因为我倾向于将 AsyncTask 用作内部类,以便我可以轻松地从 onPostExecute() 访问 Activity 的 UI 组件,以便我可以轻松地更新它们。但是,我不知何故觉得这不是一个好习惯。所以如果不是,我什么时候必须把它们分开?

  1. 我什么时候必须在 AsyncTask 中保留弱引用?我知道这用于防止配置更改时的内存泄漏。我必须一直保留它吗?如果我有一个内部 AsyncTask,我是否也必须在那里有一个弱引用?

  2. 如果我有一个单独的 AsncTask,作为弱引用保留哪个更好?语境?或活动?还是有关系?

  3. 假设我有一个单独的 AsnycTask。我在 doInBackground() 中做了一些繁重的工作。之后,我想更新执行此 AsycTask 的活动中的许多 UI 组件。执行此更新的有效方法是什么?如果我想用在 doInBackground() 中得到的结果更新 UI 组件,我应该在哪里执行更新,在 Activity 中还是在 onPostExecute() 中?

谢谢!

4

0 回答 0