Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
MVPArms
提交
9c49544e
M
MVPArms
项目概览
门心叼龙
/
MVPArms
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
MVPArms
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9c49544e
编写于
4月 13, 2018
作者:
J
JessYan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Used IntelligentCache on FragmentLifecycle
上级
eea09c98
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
9 addition
and
7 deletion
+9
-7
arms/src/main/java/com/jess/arms/base/delegate/ActivityDelegate.java
...in/java/com/jess/arms/base/delegate/ActivityDelegate.java
+1
-2
arms/src/main/java/com/jess/arms/base/delegate/FragmentDelegate.java
...in/java/com/jess/arms/base/delegate/FragmentDelegate.java
+1
-1
arms/src/main/java/com/jess/arms/di/module/GlobalConfigModule.java
...main/java/com/jess/arms/di/module/GlobalConfigModule.java
+2
-2
arms/src/main/java/com/jess/arms/integration/FragmentLifecycle.java
...ain/java/com/jess/arms/integration/FragmentLifecycle.java
+5
-2
未找到文件。
arms/src/main/java/com/jess/arms/base/delegate/ActivityDelegate.java
浏览文件 @
9c49544e
...
...
@@ -35,8 +35,7 @@ public interface ActivityDelegate {
String
LAYOUT_LINEARLAYOUT
=
"LinearLayout"
;
String
LAYOUT_FRAMELAYOUT
=
"FrameLayout"
;
String
LAYOUT_RELATIVELAYOUT
=
"RelativeLayout"
;
String
ACTIVITY_DELEGATE
=
"activity_delegate"
;
String
ACTIVITY_DELEGATE
=
"ACTIVITY_DELEGATE"
;
void
onCreate
(
@Nullable
Bundle
savedInstanceState
);
...
...
arms/src/main/java/com/jess/arms/base/delegate/FragmentDelegate.java
浏览文件 @
9c49544e
...
...
@@ -34,7 +34,7 @@ import android.view.View;
* ================================================
*/
public
interface
FragmentDelegate
{
String
FRAGMENT_DELEGATE
=
"
fragment_delegate
"
;
String
FRAGMENT_DELEGATE
=
"
FRAGMENT_DELEGATE
"
;
void
onAttach
(
@NonNull
Context
context
);
...
...
arms/src/main/java/com/jess/arms/di/module/GlobalConfigModule.java
浏览文件 @
9c49544e
...
...
@@ -217,9 +217,9 @@ public class GlobalConfigModule {
@Override
public
Cache
build
(
CacheType
type
)
{
//若想自定义 LruCache 的 size, 或者不想使用 LruCache, 想使用自己自定义的策略
//并使用 GlobalConfigModule.Builder#cacheFactory() 扩展
//Activity, Fragment 以及 Extras 使用 IntelligentCache (具有 LruCache 和 可永久存储数据的 Map)
//使用 GlobalConfigModule.Builder#cacheFactory() 即可扩展
switch
(
type
.
getCacheTypeId
()){
//Activity、Fragment 以及 Extras 使用 IntelligentCache (具有 LruCache 和 可永久存储数据的 Map)
case
CacheType
.
EXTRAS_TYPE_ID
:
case
CacheType
.
ACTIVITY_CACHE_TYPE_ID
:
case
CacheType
.
FRAGMENT_CACHE_TYPE_ID
:
...
...
arms/src/main/java/com/jess/arms/integration/FragmentLifecycle.java
浏览文件 @
9c49544e
...
...
@@ -26,6 +26,7 @@ import com.jess.arms.base.delegate.FragmentDelegate;
import
com.jess.arms.base.delegate.FragmentDelegateImpl
;
import
com.jess.arms.base.delegate.IFragment
;
import
com.jess.arms.integration.cache.Cache
;
import
com.jess.arms.integration.cache.IntelligentCache
;
import
com.jess.arms.utils.Preconditions
;
import
javax.inject.Inject
;
...
...
@@ -58,7 +59,9 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback
if
(
fragmentDelegate
==
null
||
!
fragmentDelegate
.
isAdded
())
{
Cache
<
String
,
Object
>
cache
=
getCacheFromFragment
((
IFragment
)
f
);
fragmentDelegate
=
new
FragmentDelegateImpl
(
fm
,
f
);
cache
.
put
(
FragmentDelegate
.
FRAGMENT_DELEGATE
,
fragmentDelegate
);
//使用 IntelligentCache.KEY_KEEP 作为 key 的前缀, 可以使储存的数据永久存储在内存中
//否则存储在 LRU 算法的存储空间中, 前提是 Fragment 使用的是 IntelligentCache (框架默认使用)
cache
.
put
(
IntelligentCache
.
KEY_KEEP
+
FragmentDelegate
.
FRAGMENT_DELEGATE
,
fragmentDelegate
);
}
fragmentDelegate
.
onAttach
(
context
);
}
...
...
@@ -166,7 +169,7 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback
private
FragmentDelegate
fetchFragmentDelegate
(
Fragment
fragment
)
{
if
(
fragment
instanceof
IFragment
)
{
Cache
<
String
,
Object
>
cache
=
getCacheFromFragment
((
IFragment
)
fragment
);
return
(
FragmentDelegate
)
cache
.
get
(
FragmentDelegate
.
FRAGMENT_DELEGATE
);
return
(
FragmentDelegate
)
cache
.
get
(
IntelligentCache
.
KEY_KEEP
+
FragmentDelegate
.
FRAGMENT_DELEGATE
);
}
return
null
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录