减小线程并发数量防止内存溢出
parent
2c3d04758a
commit
04b7129675
@ -0,0 +1,30 @@
|
|||||||
|
package com.xypower.mppreview;
|
||||||
|
|
||||||
|
import android.os.AsyncTask;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
public class AsyncTaskWithCustomThreadPool extends AsyncTask<Void, Void, Void> {
|
||||||
|
|
||||||
|
private static final int CORE_POOL_SIZE = 2; // 自定义线程数
|
||||||
|
private static final int MAXIMUM_POOL_SIZE = 2; // 自定义线程数
|
||||||
|
private static final int KEEP_ALIVE = 3; // 自定义线程存活时间
|
||||||
|
|
||||||
|
public static final Executor THREAD_POOL_EXECUTOR
|
||||||
|
= new ThreadPoolExecutor(CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, KEEP_ALIVE,
|
||||||
|
TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Void doInBackground(Void... params) {
|
||||||
|
// 你的后台操作
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void executeTask() {
|
||||||
|
executeOnExecutor(THREAD_POOL_EXECUTOR);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue