`
xuela_net
  • 浏览: 494332 次
文章分类
社区版块
存档分类
最新评论

自定义导航栏,实现缓存,更新缓存,提高效率

 
阅读更多

终于自己看api搞明白 类似导航栏的页面如何提高效率,缓存多组页面,根据需要更新了.需求是这样的,有个导航栏,其中点击一个可以进入很多歌一级界面。这样就要区分什么时候使用缓存,什么时候要更新缓存,来显示最新的信息。显示看了网上的分析,同事之前写好的代码如下:

protected void onTabClicked(int tab, Intent intent) {
if (tab != -1) {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
String activityId = ACTIVITY_ID_PRE + mTabIndex[tab];
if (SlimConf.INFO)
Log.i(TAG, " activityId =" + activityId);


View root = null;
Window window = getLocalActivityManager().startActivity(activityId,
intent);


if (window != null) {
root = window.getDecorView();
}
if (root != null) {
switchView(tab, root);
}
}
}


void switchView(int tab, View currentView) {


boolean flag = false;
for (int i = 0; i < viewList.size(); i++) {
View view = viewList.get(i);
if (view != null) {
if (!view.equals(currentView)) {
view.setVisibility(View.GONE);
} else if (view.equals(currentView)) {
// if (tab == TAB_TEAM) {
//
// if (!teamTag.equals(PrefConf.getString(
// PrefConf.TEAM_STATE, "init"))) {
//
// ViewGroup parent = (ViewGroup) currentView
// .getParent();
// parent.childDrawableStateChanged(currentView);
// }
// flag = true;
// view.setVisibility(View.VISIBLE);
//
// } else {
flag = true;
view.setVisibility(View.VISIBLE);
// }
}
}
}
if (!flag) {
if (tab == TAB_TEAM) {
teamTag = PrefConf.getString(PrefConf.TEAM_STATE, "d");


}
viewList.add(currentView);
mTabLayout.addView(currentView);


// mTabLayout.invalidate();
}
}

前面的界面缓存就一笔带过了,其实就是activityManager得到Window对象,在通过这个window对象的getDecorView()方法得到一个activity的view,然后得到的view放到一个viewgroup中,如上面的mTabLayout;当然需要一个list来存放这些view,以便控制他们的显示(viewList)。

注释掉的部分就是我后来加上的,思路是,当点击team模块时,判断已有字段teamTag和preference中的是否相同,不相同说明界面有变化。这时候再parent.childDrawableStateChanged(currentView);就可以更新缓存中的界面了。

问题就结局了,如果不加上注释的内容,缓存不会自动更新。


分享到:
评论

相关推荐

    5w网址导航(PHP)源码 v7.7 GBK.rar

    提高天气显示速度FIX 新增站点数据清空功能FIX 新增网址分类转移功能FIX 新增内页广告FIX 增强后台程序安全性能FIX 修复114la等主题样式问题FIX 修复了网易邮箱不能登陆FIX 修复个别站长搜索与名站不支持问题FIX 名...

    ios-使用UICollectionView做了个简单的水果电商App.zip

    1.UICollectionView展示数据 2. 自定义导航栏 3.使用了UIScrollView轮播广告 4.使用了本地缓存数据

    5w网址导航源码V7.7_GBK版本

    FIX 自定义导航多项功能完善 FIX 新增后台管理首页名站切换栏 FIX 新增首页多搜索模块,后台管理 FIX 内页网址支持颜色修改 FIX 修复天气预报图片显示问题 FIX 完善天气预报程序,提高天气显示速度 FIX 新增站点数据...

    5w五维网址导航 v8.0 UTF8.rar

    FIX 新增内页网址添加到自定义导航功能 FIX 新增管理内页搜索引擎功能 FIX 新增后台文件缓存清理功能 FIX 新增首页左侧导航管理 FIX 首页及个性导航顶部天气完善至三级市 FIX 新增个性导航分类功能及页面优化

    码多多ChatAI智能聊天系统PHP源码版-2.1.3-e048d1.zip 仅限学习使用,商业使用请购买正版授权

    1. 底部导航栏支持自定义 2. 移动端-绘画操作标题文案错误 3. pc端-购买套餐弹窗的套餐内容文案错误 4. pc端-充值套餐默认选中的要和推荐标签对应 5. 移动端一键切图功能 6. 对话输入框优化 7. 优化后台创作表单修改...

    WPF编程宝典 part2

    19.3 提高大列表的性能 518 19.3.1 虚拟化 518 19.3.2 项容器再循环 519 19.3.3 缓存长度 519 19.3.4 延迟滚动 520 19.4 验证 521 19.4.1 在数据对象中进行验证 521 19.4.2 自定义验证规则 526 19.4.3 响应验证错误 ...

    ios-JPSuspensionEntrance --- 高仿微信悬浮小窗口的小框架.zip

    可作用于有或无导航栏的情况 注意: 1.目前仅作用于NavigationController 之后的更新内容: 1.Swift版本; 2.适配自定义的转场动画 3.更多的控制器整合的浮窗; 4.更多的参数设定;

    5w(五维)网址导航源码 8.0 GBK.rar

    FIX 新增内页网址添加到自定义导航功能 FIX 新增管理内页搜索引擎功能 FIX 新增后台文件缓存清理功能 FIX 新增首页左侧导航管理 FIX 首页及个性导航顶部天气完善至三级市 FIX 新增个性导航分类功能及页面优化 ...

    fs-company 企业网站系统 v1.1.1

    运用了数据缓存和静态文件缓存技术 5、架构支持 类:字典、打包解包、数据交互、数据转储、数据查询、验证器等fs-company企业网站系统功能文章发布商品发布权限管理客户案例发布视频发布用户评论用户留言人才招聘...

    淘客帝国免费版

    静态,动态后台自动切换 多KEY支持当一个App Key超频则自动切换到下一个App Key。有效解决因API调用频率不够而无法调取到商品数据的情况!...后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可!

    5w五维网址导航 v8.0 GBK.rar

    FIX 新增内页网址添加到自定义导航功能 FIX 新增管理内页搜索引擎功能 FIX 新增后台文件缓存清理功能 FIX 新增首页左侧导航管理 FIX 首页及个性导航顶部天气完善至三级市 FIX 新增个性导航分类功能及页面优化

    淘客帝国Taodi V5.12商业版/稳定版/后台密码开放

    后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可! 蜘蛛屏蔽功能:可以选择禁用一些蜘蛛。 伪原创产品页:可以设置产品页伪原创参数 批量删除缓存:后台也可以手动批量删除缓存功能,...

    SwiftySearch:很棒的iOS UISearchController具有多种功能

    基础+ hiddenStatusBar 自定义导航栏自定义TextColor特征 支持搜索建议 支持搜索历史(记录)缓存 使用委托或块完成搜索支持回调 支持CocoaPods 支持本地化要求iOS 9.0以上迅捷3.0+安装可可豆在CocoaPods上可用。...

    淘客帝国程序V5.14 版 真正完全破解版,无限制版,后台可设置

    淘客帝国程序V5.14 版 真正完全破解版,无限制版,后台可设置 短地址,有过SEO经验的都知道这意味着什么! 伪静态,动态后台自动切换 ...后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可!

    80航标导购网.rar

    后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可! 批量删除缓存:后台也可以手动批量删除缓存功能,无需在用FTP删除! 前台风格切换:后台模板风格切换,支持四种风格! 后台广告管理:...

    Android项目源码腾飞校园新闻客户端.zip

    注意:本项目是基于android studio开发的,eclipse可能无法直接导入。...Android System Bar Tint 为Android4.4以上系统的状态栏和导航栏填充颜色 Android PagerSlidingTabStrip Material Desig 风格的ViewPager导航条

    淘客帝国程序5.14稳定版

    免费的淘客程序 淘客帝国V5.14无限制稳定版 淘客帝国程序V5.14 版 真正完全破解版,无限制版,后台可设置 短地址,有过SEO经验的都知道这...后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可!

    淘宝帝国v4.3免费版

    后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可! 缓存:后台也可以手动缓存功能,无需在用FTP删除! 前台风格切换:后台模板风格切换,支持四种风格! 后台广告管理:后台可以对网站的...

    5w(五维)网址导航源码 8.0 UTF8.rar

    FIX 新增内页网址添加到自定义导航功能 FIX 新增管理内页搜索引擎功能 FIX 新增后台文件缓存清理功能 FIX 新增首页左侧导航管理 FIX 首页及个性导航顶部天气完善至三级市 FIX 新增个性导航分类功能及页面优化 ...

    淘宝人淘客帝国 V5.12 完美商业版.rar

    后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可! 批量删除缓存:后台也可以手动批量删除缓存功能,无需在用FTP删除! 前台风格切换:后台模板风格切换,支持四种风格! 后台广告管理:...

Global site tag (gtag.js) - Google Analytics