Android版:您可以访问AsyncTask的类成员DoInBackground? [英] Android: can you access AsyncTask class members in DoInBackground?
问题描述
它是安全运行的方法的的AsyncTask
类成员中的 DoInBackground
?或者你需要使用一个处理程序?
Is it safe to run a method of an AsyncTask
class member inside the DoInBackground
? or do you need to use a handler?
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
作为参数没有通过呢?有一个多线程的问题?
in doInBackground
is it safe to run mObjA.aMethod()
if mObjA
wasn't passed as a parameter? is there a multithreading issue?
这是有人故意通过你应该在 doInBackground
只能访问对象,或者您可以自由访问类的任何成员,而无需使用处理程序?
should you in doInBackground
only access objects which have been deliberately passed, or can you freely access any member of the class without using handlers?
推荐答案
您确实可以访问你的的AsyncTask
的任何领域内的 doInBackground()
,其条件是 mObjA
不是UI相关的Android类如 ViewPager
或的LinearLayout
或任何形式的的ViewGroup
基本
You can indeed access any field of your AsyncTask
inside doInBackground()
, with the condition that mObjA
is not a UI-related Android class like ViewPager
or LinearLayout
or any sort of ViewGroup
basically.
这篇关于Android版:您可以访问AsyncTask的类成员DoInBackground?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!