OSChina学习----slpash界面

// 防止第三方跳转时出现双实例
Activity aty = AppManager.getActivity(MainActivity.class);
if (aty != null && !aty.isFinishing()) {
    finish();
}
防止第三方跳转的原理是:进入AppManager.class可以发现其实是一个Activity.class实例的管理类.主要负责用栈的方式管理已经存在的Activity实例. 
通过AppManager.getActivity(MainActivity.class)查询是否管理类里面是否已经保存MainActivity.class的实例.如果有则将已经存在的实例finish(防止MainActivity.class双实例)

protected void onResume() {
    super.onResume();
    int cacheVersion = PreferenceHelper.readInt(this, "first_install",
            "first_install", -1);
    int currentVersion = TDevice.getVersionCode();
    if (cacheVersion < currentVersion) {
        PreferenceHelper.write(this, "first_install", "first_install",
                currentVersion);
        cleanImageCache();
    }
}

private void cleanImageCache() {
    final File folder = FileUtils.getSaveFolder("OSChina/imagecache");

    File[] files = folder.listFiles();

    if (files != null && files.length > 0) {


        KJAsyncTask.execute(new Runnable() {
            @Override
            public void run() {
                if (folder.isDirectory()) {

                    for (File file : folder.listFiles()) {
                        file.delete();
                    }
                }
            }

        });

    }
}
个人理解,不知道是不是这样的:onResume()中拿到版本号,判断是否是第一次运行。
如果是第一次运行,就清空OSChina/imagecache里面的文件,cleanImageCache()方法就是用来清空缓存的。
private void redirectTo() {
    Intent uploadLog = new Intent(this, LogUploadService.class);
    startService(uploadLog);
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
    finish();
}
开启一个服务,用来查看ErrorLog,并上报给服务器。
至于Appmanager和LogUploadService这两个类,没仔细研究,太复杂了,对我这个初学者来说,有点难度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值