新增 opencv懒加载

This commit is contained in:
hyb1996
2018-11-02 00:48:13 +08:00
parent d8d02a1137
commit 248d698708
9 changed files with 99 additions and 65 deletions

View File

@@ -36,6 +36,14 @@ ui.layout(
function setImage(img) {
ui.run(() => {
ui.img.setImageBitmap(img.bitmap);
var oldImg = currentImg;
//不能立即回收currentImg因为此时img控件还在使用它应该在下次消息循环再回收它
ui.post(()=>{
if(oldImg != null){
oldImg.recycle();
}
});
currentImg = img;
});
}
@@ -52,10 +60,6 @@ function processImg(process) {
}
//处理图片
var result = process(logo);
if(currentImg != null){
currentImg.recycle();
}
currentImg = result;
//把处理后的图片设置到图片控件中
setImage(result);
}, 0);

View File

@@ -9,7 +9,6 @@ import android.support.annotation.Nullable;
import android.util.Log;
import android.view.View;
import com.stardust.autojs.core.opencv.OpenCVHelper;
import com.xcy8.ads.listener.LoadAdListener;
import com.xcy8.ads.view.FullScreenAdView;
@@ -30,7 +29,7 @@ public class SplashActivity extends BaseActivity {
public static final String FORCE_SHOW_AD = "forceShowAd";
private static final String LOG_TAG = SplashActivity.class.getSimpleName();
private static final long INIT_TIMEOUT = 1500;
private static final long INIT_TIMEOUT = 1000;
private boolean mCanEnterNextActivity = false;
@@ -47,7 +46,6 @@ public class SplashActivity extends BaseActivity {
super.onCreate(savedInstanceState);
init();
boolean forceShowAd = getIntent().getBooleanExtra(FORCE_SHOW_AD, false);
final long millis = SystemClock.uptimeMillis();
if (!forceShowAd && !Pref.shouldShowAd()) {
mFullScreenAdView.setVisibility(View.INVISIBLE);
} else {
@@ -55,14 +53,7 @@ public class SplashActivity extends BaseActivity {
fetchSplashAD();
}
}
OpenCVHelper.initIfNeeded(this, () -> {
long delay = INIT_TIMEOUT - (SystemClock.uptimeMillis() - millis);
if (delay <= 0) {
enterNextActivity();
return;
}
mHandler.postDelayed(SplashActivity.this::enterNextActivity, delay);
});
mHandler.postDelayed(SplashActivity.this::enterNextActivity, INIT_TIMEOUT);
}
private void init() {