由于webview在加载页面过程中或者加载完成后,页面可能会出现卡顿或崩溃的情况,此时程序后台是感知不到的,需要通过程序手段监测出来。
因此采取页面上定时发送心跳到webview后端,后端通过监测心跳来判断页面有没有死掉的情况。
一、先编写java相关文件HeartJavaScriptFunction.java,用于向js提供调用的接口函数:
public interface HeartJavaScriptFunction {
void onJsFunctionCalled(int tag);
}
二、编写CrashMonitor.java,用来判断页面心跳:
import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class CrashMonitor {
private ScheduledExecutorService executorService = null;
private long oldpos = 0;
private int pauseNum = 0;
private OnCrashedListener onCrashedListener;
public interface OnCrashedListener {
void onCrashed();
}
public void setOnCrashedLi