我有带有静态方法的实用程序类。假设这些方法可以触发后台任务,如下所示:
class ExampleAsyncUtil {
public static void doSomeAsyncJob() {
new AsyncTask<Void, Void, Void> () {
@Override
protected Void doInBackground (Void... params) {
//do heavy job here ...
return null;
}
}.execute();
}
}
如果然后我在活动中调用 util 类方法,然后该方法将被销毁:
class ExampleActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ExampleAsyncUtil.doSomeAsyncJob();
}
@Override
protected void onDestroy() {
//should i stop async task in util on destroy ?
super.onDestroy();
}
}
它有什么害处吗?(假设后台线程不保留对调用实用程序方法的活动的任何引用)