提交 eea09c98 编写于 作者: J JessYan

Used IntelligentCache on ActivityLifecycle

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