安全地连接到UI线程Android
我不太明白是什么意思,“在主UI线程中声明”,线程不声明任何东西。我假设你的意思是在Activity
上宣布。那么是的,只要确保你没有并发问题(例如,当另一个人在同一个实例上写入时读取线程)。和volatile
是你的朋友。
我找不到同步的官方java文档,你能给我一个链接或例子如何做一个同步的方法? – astralmaster 2013-02-14 17:24:16
'synchronized'和'volatile'是Java。 – m0skit0 2013-02-14 17:25:02
我知道了,你能给我一个官方文档的链接吗? – astralmaster 2013-02-14 17:26:02
这是不安全的,因为创建Asynctask的Activity/Fragment在完成执行时可能不在那里,可能是因为屏幕旋转。你应该传递你需要的对象作为参数。为了更新UI,你应该使用postExecute方法。
如果你只是表示线程安全的,在android 3.x +中应该是线程安全的,如果你只使用AsyncTaks,因为AsyncTasks是在串行执行器上执行的。在Android 2.3上同时执行。
编辑
如果您需要从的AsyncTask的doInBackground方法修改UI,你可以使用活动方法runOnUiThread
有很好的理解? – 2013-02-14 17:25:27
调用方法。 – astralmaster 2013-02-14 17:28:26