在中运行AsyncTask
类成员的方法是否安全DoInBackground
?还是需要使用处理程序?
private class MyAsyncTask extends AsyncTask<Void, Void, Void> {
Object mObjA = null:
private MyAsyncTask(Object objA) {
mObjA = objA
}
protected void doInBackground(Void... params) {
mObjA.aMethod()
}
}
在doInBackground
为它的安全运行mObjA.aMethod()
,如果mObjA
作为一个参数没有通过呢?有多线程问题吗?
您应该doInBackground
只访问故意传递的对象,还是可以不使用处理程序而自由访问类的任何成员?
实际上,您可以访问AsyncTask
内部的任何字段doInBackground()
,但条件mObjA
不是与UI相关的Android类,例如ViewPager
或LinearLayout
或ViewGroup
基本上不是任何种类的类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句