- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 【设计模式】【 依赖注入】
1、背景现在有一个使用场景:司机开车 一般这样写Public Driver{ //司机 ... public void drive(){ Car mCar=new Car(“汽车”); mCar.dianHuo();//点火 mCar.guaDang();//挂档 mCar.caiYouMen();...
2019-01-31 16:41:18 478
原创 设计模式- 备忘录模式【解决思路和具体方法】
【问题和常用方法的弊端】https://blog.csdn.net/weixin_42714245/article/details/86711818 【解决思路】代码分离,分为三个模块:“备忘录”(即备忘录实体)、“备忘发起者”(发起备忘录的修改和恢复)和“备忘录管理者”(保存备忘录,并对外提供备忘录实体) 【前期准备:定义三个模块】1) 备忘录:“备忘录”存储“备忘发...
2019-01-31 12:41:27 537 1
原创 初探“大数据分析”
目录一、导览1、数据谱图2、数据分析的各个组成部分二、数据产出2.1 哪些行为要打log2.2 log携带哪些信息三、数据传输四、数据存储4.1 数据仓库设计逻辑4.2 HDFS/AFS4.3 Mysql五、数据计算5.1 Hadoop框架5.2 Storm框架5.3 Samza框架5.4 Spark框架5.5 Flink框架...
2018-10-17 08:51:25 711
原创 安卓性能优化之懒加载(View的懒加载)
1、背景:为什么需要View的懒加载。 我们在做安卓项目的时候,经常会有一个使用场景:需要在运行时根据数据动态决定显示或隐藏某个View和布局。 上述场景,我们通常的解决方案就是:就是把可能用到的View先写在布局里,再初始化其可见性都设为View.GONE,然后在代码中根据数据动态的更改它的可见性。 虽然这样的实现,逻辑简单而且控制起来比较灵活;...
2018-09-26 08:33:49 4284 1
原创 安卓性能优化之懒加载(Fragment中数据的懒加载)
1、背景:为什么需要懒加载。 我们在做安卓项目的时候,经常会有一个使用场景:ViewPage与多个Fragment组合使用。 然而,viewpager有着预加载机制:默认一次加载当前页面前后两个页面,即使设置setOffLimit(0)也没有效果。 虽然预加载优化了app的体验效果,但是这样把我们看不到的页面的数据也加载了,大大降低了性能,浪费...
2018-09-25 13:52:02 15072 7
原创 安卓App帧率优化的一些经验总结
1、背景:安卓的渲染机制 我们需要了解Android系统是如何处理UI组件的更新操作的,主要包含以下4个步骤: (1)Android需要把XML布局文件转换成GPU能够识别并绘制的对象。这个操作是在DisplayList的帮助下完成的。DisplayList持有所有将要交给GPU绘制到屏幕上的数据信息。 (2)CPU负责把UI组件计算成Polygons,Texture纹理,然后交...
2018-09-21 08:20:56 6302 1
原创 【Crash经验总结】Can not perform this action after onSaveInstanceState
【问题描述】如下报错Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(SourceFile:136...
2018-08-30 14:28:17 340
原创 【Crash经验总结】not attached to window manager
【问题描述】如下报错"Fatal Exception: java.lang.IllegalArgumentException: View=DecorView@66e8333[xxxActivity] not attached to window manager at android.view.WindowManagerGlobal.findViewLocked(WindowM...
2018-08-30 14:02:27 2123
原创 Flutter介绍——FAQ
什么是Flutter?——Flutter是移动端开发SDK,包括框架,控件和工具等,能开发出漂亮的移动端APP,且同时支持Android和iOS。 我能使用Flutter开发什么样的APP?——Flutter为运行在Android和iOS的2D APP而优化。Flutter开发的APP既适用于简单场景,比如传递品牌价值,也适用于复杂场景,比如股票交易平台。你可以用Flutter开发...
2018-08-09 14:52:37 1070
原创 动态加载技术在安卓中的应用
【引子】 1、两种开发模式组件化和插件化 (1)组件化开发: 就是将一个app分成多个模块,每个模块都是一个组件lib(即“公共代码”:统计模块,网络模块、图片处理模块等等),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk。 (2)插件化开发: 将整个app拆分成很多模块,这些模块包括一个宿主和多个插...
2018-08-08 11:34:23 1751
转载 k线必涨的20种形态图
K线形态反映的多空双方力量的变化,上涨形态说明多方已经或者即将占据优势、下跌形态说明空方已经或者即将占据优势,但并不代表股价的最终走势。 01、低位锤形线 形态介绍:上涨形态。一般在下跌趋势中,出现下影线较长上影线较短的K线形态,形状如一把锤子,称为低位锤型线。 买入参考位:锤形线出现次日,若能确定收盘价能够越过锤形线实体,则构成买点。 止损参考位:锤形线...
2018-08-08 09:07:48 31421
原创 初探“Android Instant Apps”
【简介】2016年的Google I/O大会上,Instant App(即时应用)作为Android Nougat的功能之一进行展示。其有以下两个特点:1、免安装:Instant App能有帮助节省手机端的存储空间,用户不再需要进行安装之后再进行管理。2、免费试玩:在尝试下载之前消费者并不需要为应用付款,从而方便开发者邀请用户测试该应用。具体表现形式为——当你在google...
2018-08-07 13:08:11 2138
原创 安卓App耗电量优化的一些经验总结
1、准备工作磨刀不误砍柴工。开始优化工作之前,一定要确定“测试场景”和“测试用例”(1)应用后台——灭屏——亮屏(2)应用后台分析埋点数据 -> 找出高频页面 -> 页面分类归纳 -> 总结出一系列场景【备注】<1>测试过程中,一定要拔掉充电线<2>一定要进行“全功能”测试,以防遗漏。 2、优化手段2.1 使...
2018-07-18 21:18:53 4856 2
原创 “ScrollView嵌套ListView”的布局方式的危害!!
“ScrollView嵌套ListView”,是一种常见的嵌套方式。大家或多或少都在使用这个嵌套方式。 殊不知,这种方式危害巨大! 原因:由于该使用场景中,为了解决ScrollView和ListView的消息分发,从而动态设置ListView的高度。造成后果:导致Listview缓存机制失效影响面:(1)内存过大;(2)耗电量过大;(3)cpu过高。...
2018-07-18 20:41:45 208 1
gerrit使用指南
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人