N S*_*rma 1 android lint android-asynctask
我正在使用AsyncTask网络操作并将其设置minSDKVersion为8.我正在尝试执行AsyncTask如何,它会给出红线错误然后我需要每次清理项目然后它的工作原理.
downloadAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
Run Code Online (Sandbox Code Playgroud)
为了避免这些错误我能为此做些什么?
这里看截图这些@SuppressLint @TargetAPI的用途是什么,

提前致谢.
那个方法(executeOnExecutor())和那个字段(THREAD_POOL_EXECUTOR)是在API级别11中添加的.你minSdkVersion是9,因此你运行的某些设备将没有该方法或字段,你将崩溃.
要么提升你minSdkVersion的11,要么只使用executeOnExecutor()足够新的设备:
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
static public <T> void executeAsyncTask(AsyncTask<T, ?, ?> task,
T... params) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
}
else {
task.execute(params);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1643 次 |
| 最近记录: |