2

我有一个从活动(UI 线程)调用的单例管理器类,然后它在不同的线程(网络)上运行,最后应该在调用活动中调用回调方法。

我想知道在 UI 线程上调用回调方法的最佳方法是什么。我熟悉这些选项(请参阅http://android-developers.blogspot.co.il/2009/05/painless-threading.html

所以我在想两个选择:

第一个: 调用活动将实现一个带有 getActivity() 方法的接口。该方法将用于调用 Activity.runOnUiThread(Runnable)。

第二种: MainApplication,它初始化manager单例,会传递一个属于UI线程的Handler实例。

更好的选择是什么?我也很高兴听到任何其他建议

4

1 回答 1

0

无论您选择什么选项,您都必须记住活动具有一定的生命周期,并且与您的单例类不同,可以完成或移至后台。鉴于此,您应该再次考虑单例是否真的是这里的最佳选择:如果它需要与活动交互,也许活动应该管理其生命周期。如果它不依赖于任何特定活动,您可能希望将其设为服务并发送广播以通知进度等。

你到底想做什么?

于 2012-08-03T08:43:12.373 回答