Skip to content

Commit 8b58968

Browse files
committed
automatically kill executorservices
1 parent 480228d commit 8b58968

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/axp/tool/apkextractor/ApkListAdapter.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,22 @@
2222
import java.util.Map;
2323
import java.util.concurrent.ExecutorService;
2424
import java.util.concurrent.Executors;
25+
import java.util.concurrent.ThreadFactory;
2526

2627
public class ApkListAdapter extends RecyclerView.Adapter<ApkListAdapter.ViewHolder> {
28+
private ThreadFactory tFactory = new ThreadFactory() {
29+
@Override
30+
public Thread newThread(Runnable r) {
31+
Thread t = new Thread(r);
32+
t.setDaemon(true);
33+
return t;
34+
}
35+
};
36+
2737
private ArrayList<ApplicationInfo> list = new ArrayList<ApplicationInfo>();
2838
private ArrayList<ApplicationInfo> list_original = new ArrayList<ApplicationInfo>();
29-
private ExecutorService executorServiceNames = Executors.newFixedThreadPool(3);
30-
private ExecutorService executorServiceIcons = Executors.newFixedThreadPool(3);
39+
private ExecutorService executorServiceNames = Executors.newFixedThreadPool(3, tFactory);
40+
private ExecutorService executorServiceIcons = Executors.newFixedThreadPool(3, tFactory);
3141
private Handler handler = new Handler();
3242
public MainActivity mActivity;
3343
public final PackageManager packageManager;
@@ -58,7 +68,10 @@ public void run() {
5868
@Override
5969
public void run() {
6070
names_to_load--;
61-
if (names_to_load == 0) mActivity.hideProgressBar();
71+
if (names_to_load == 0) {
72+
mActivity.hideProgressBar();
73+
executorServiceNames.shutdown();
74+
}
6275
}
6376
});
6477
}

0 commit comments

Comments
 (0)