提交 eea09c98 编写于 作者: J JessYan

Used IntelligentCache on ActivityLifecycle

上级 8c819fdf
......@@ -69,7 +69,7 @@ public class AppLifecyclesImpl implements AppLifecycles {
}
//LeakCanary 内存泄露检查
//使用 IntelligentCache.KEY_KEEP 作为 key 的前缀, 可以使储存的数据永久存储在内存中
//否则存储在 Lru 算法的存储空间中, 前提是 extras 使用的是 IntelligentCache (框架默认使用)
//否则存储在 LRU 算法的存储空间中, 前提是 extras 使用的是 IntelligentCache (框架默认使用)
ArmsUtils.obtainAppComponentFromContext(application).extras().put(IntelligentCache.KEY_KEEP + RefWatcher.class.getName(), BuildConfig.USE_CANARY ? LeakCanary.install(application) : RefWatcher.DISABLED);
//扩展 AppManager 的远程遥控功能
ArmsUtils.obtainAppComponentFromContext(application).appManager().setHandleListener((appManager, message) -> {
......
......@@ -108,7 +108,7 @@ public class AppDelegate implements App, AppLifecycles {
//将 ConfigModule 的实现类的集合存放到缓存 Cache, 可以随时获取
//大于或等于缓存所能允许的最大 size, 则会根据 LRU 算法清除之前的条目
//使用 IntelligentCache.KEY_KEEP 作为 key 的前缀, 可以使储存的数据永久存储在内存中
//否则存储在 Lru 算法的存储空间中, 前提是 extras 使用的是 IntelligentCache (框架默认使用)
//否则存储在 LRU 算法的存储空间中, 前提是 extras 使用的是 IntelligentCache (框架默认使用)
mAppComponent.extras().put(IntelligentCache.KEY_KEEP + ConfigModule.class.getName(), mModules);
this.mModules = null;
......
......@@ -84,7 +84,9 @@ public class ActivityLifecycle implements Application.ActivityLifecycleCallbacks
if (activityDelegate == null) {
Cache<String, Object> cache = getCacheFromActivity((IActivity) activity);
activityDelegate = new ActivityDelegateImpl(activity);
cache.put(ActivityDelegate.ACTIVITY_DELEGATE, activityDelegate);
//使用 IntelligentCache.KEY_KEEP 作为 key 的前缀, 可以使储存的数据永久存储在内存中
//否则存储在 LRU 算法的存储空间中, 前提是 Activity 使用的是 IntelligentCache (框架默认使用)
cache.put(IntelligentCache.KEY_KEEP + ActivityDelegate.ACTIVITY_DELEGATE, activityDelegate);
}
activityDelegate.onCreate(savedInstanceState);
}
......@@ -184,7 +186,7 @@ public class ActivityLifecycle implements Application.ActivityLifecycleCallbacks
ActivityDelegate activityDelegate = null;
if (activity instanceof IActivity) {
Cache<String, Object> cache = getCacheFromActivity((IActivity) activity);
activityDelegate = (ActivityDelegate) cache.get(ActivityDelegate.ACTIVITY_DELEGATE);
activityDelegate = (ActivityDelegate) cache.get(IntelligentCache.KEY_KEEP + ActivityDelegate.ACTIVITY_DELEGATE);
}
return activityDelegate;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册