本文为仅学习记录
参考项目链接GitHub - Bakumon/UGank: 「有干货」Gank.io 第三方客户端,分别使用MVP、Google-LiveData\Room(进行中)实现
1. 预缓存加载页的图片, 以图片的 Url 为Key 值存储
// 预加载 提前缓存好的欢迎图
Picasso.with(HomeActivity.this).load(cacheUrl).fetch(new Callback() {
@Override
public void onSuccess() {
ConfigManage.INSTANCE.setBannerURL(cacheUrl);
}
@Override
public void onError() {
}
});
2. 进入启动页时 , 以Key值获取缓存图片实现加载
Picasso.with(this)
.load(url)
.into(binding.imgLauncherWelcome, new Callback() {
@Override
public void onSuccess() {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (!isResume) {
finish();
return;
}
goHomeActivity();
}
}, 1200);
}
@Override
public void onError() {
goHomeActivity();
}
});
3. 通过标志位,记录该 Activity 是否在前台显示,控制当 Activity 再次 onResume, 不再显示广告页
/**
* 记录该 Activity 是否在前台显示
*/
private boolean isResume;
@Override
protected void onResume() {
super.onResume();
isResume = true;
}
@Override
protected void onPause() {
super.onPause();
isResume = false;
}
网友评论