我有一个从Activities(UI线程)调用的单例管理器类,然后它在不同的线程(网络)上运行,并且它应该在调用Activity中调用一个回调方法。
我想知道在UI线程上调用回调方法的最佳方法是什么。 我熟悉这些选项(参见http://android-developers.blogspot.co.il/2009/05/painless-threading.html)
所以我想到了两个选择:
第一个: 调用Activities将使用getActivity()方法实现一个接口。该方法将用于调用Activity.runOnUiThread(Runnable)。
第二个: MainApplication,它位于管理器单例中,将传递属于UI线程的Handler实例。
什么是更好的选择? 我也很高兴听到任何其他建议
答案 0 :(得分:0)
无论您选择哪种选项,您都必须记住,活动具有一定的生命周期,与您的单身类不同,可以完成或移动到后台。鉴于此,您应该再次考虑单身是否真的是这里的最佳选择:如果它需要与活动交互,可能活动应该管理其生命周期。如果它不依赖于任何特定活动,您可能希望将其作为服务并发送广播以通知进度等。
你到底想要做什么?