项目中用到 Zxing ; 它作为我tabhost重的一个 activity ,发现 程序总是莫名其妙的被关闭掉;
我看到这个信息:GC_FOR_ALLOC freed 6785K, 11% free 44735K/49812K, paused 39ms, total 39ms
起初我还以为是哪里报错了,或者哪里有内存溢出;最后 锁定在了 扫描二维码 的这个activity 上,进而 查看它的源码 InactivityTimer类 惊了个呆 !
/**
* Finishes an activity after a period of inactivity.
*/
public final class InactivityTimer {
private static final class DaemonThreadFactory implements ThreadFactory {
@Override
public Thread newThread(Runnable runnable) {
final Thread thread = new Thread(runnable);
thread.setDaemon(true);
return thread;
}
}
private static final int INACTIVITY_DELAY_SECONDS = 5 * 60;
private final Activity activity;
private ScheduledFuture<?> inactivityFuture = null;
private final ScheduledExecutorService inactivityTimer =
Executors.newSingleThreadScheduledExecutor(new DaemonThreadFactory());
public Inactivi