`
砺雪凝霜
  • 浏览: 156514 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
Activity生命周期异常分析  我们知道正常情况下Activity创建的时候会执行 onCreate onStart onResume 方法;当锁屏情况下Activity会执行 onPause onStop方法;当屏幕再次显示的时候会执行onReStart onStart onResume方法。但是在一些特殊情况下,如语言切换,横竖屏切换等配置改变以及内存吃紧的情况下,activity就有可能被杀死,从而导致生命周期异常。这对于开发人员来说,了解这些是很有必要的。下面我们来具体分析这两种情况吧   (一)情况1:资源相关的配置信息发生改变导致Activity生命周期异常   理 ...
如何实现让RecyclerView有不同尺寸的item      我们的项目开发中有一个需求是这样的:我们左边有一排关键字,用户用遥控器滑动到某个关键字后,后边就要求出相应的搜索结果,搜索结果是一个gridView,一般情况下,gridView每行排列着是4个相同尺寸的item,但是针对特殊的搜索结果的item要求,每行排列2个。 分析: (1) 可不可以用GridView实现呢?      我们都知道GridView的每个布局的宽和高必须是一样的,(HeadView咱们就不考虑了)。用gridView的方式基本可以放弃了。 (2) 用gridLayout实现呢?     gri ...
 探究如何以jar包导入的形式使用RecyclerView         由于项目中要求使用RecyclerView,但是使用的Android系统是经过公司阉割过的,导致我们只能基于API15来build我们的项目,经过多次的调研发现,目前使用RecyclerView都是直接在build.gradle文件中配置好的jar信息,然后AS会自动下载好相应的jar包。   dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:recyc ...
Activity中onStop和onDestroy方法延迟调用BUG解决      这个礼拜一功能开发完后,发现一个很奇葩的问题,我写了一个Activity,反复进去和退出,这样重复20次,TV的内存居然从53M升到了惊人的 170M,尝试了解决内存泄露的常规方法 ...
      做开发的工作已经快2年了,渐渐才发现自己在工作上花的心似乎太多了,没错技术进步是好事,但是在与人沟通方面似乎自己压根就没注意。最近和朋友聊天,才发现自己有很多方面做的确实不足。总结下有几点: (一) 与同事打好关系      (1)别仗着自己技术好,在同事面前表现自己,留下爱装逼的印象      好多技术好的哥们喜欢对别人说,这个该怎么样,那个该怎么样。别人向你请教,你应该耐心点告诉别人,别人觉得你很优秀,才会来找你啊。但是如果别人没向你请教的话,那我们最好安静点,如果你是领导的话,大家接受还可以,但如果大家都是组员的话,特别他在公司比你呆的久的话,那最好低调点,不然的话会 ...
             《把时间当作朋友》读后感        如何让自己心智力量变得强大?        好书难找,一本适合自己的好书更难找。《把时间 当作朋友》是一本难得的好书,从这本书中我才意识到心智力量对人影响的 ...
                               那些年我使用Volley遇到的坑   使用Volery已经快整整一年了,下面我来总结一下,我使用Volley时踩到的坑      (一) Volley的二次封装     下面看看我是怎么对Volley的二次封装的: protecte ...
                                               谈谈Android内存优化      引起Android内存泄露的情况有很多,但是很多都是我们代码不规范引起的。只要我们平时代码规范点我们都能开发出性能比较高的APP应用。     引起泄露的原因大都是,由于不适当的引用,导致内存较大的对象没有及时释放,导致内存居高不下,严重的时候可能会引起OOM。在Android开发中泄露的原因,总结下来,大都是由于Activity Context和bitmap对象使用不当引起的。下面就来与大家分享下我在开发一个TV项目中遇到的内存泄露的情况。 (一) ...
  1 概念 ListViewAnimations是一个带Item显示动画的ListView,动画包括底部飞入、其他方向斜飞入、下层飞入、渐变消失、滑动删除等 项目地址:https://github.com/nhaarman/ListViewAnimationsDemo地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimations 2 使用    (1) 添加一下库文件 lib-core:这是ListViewAnimations的核心库,它包含各种各样的动画效果 lib ...
   EventBus进阶(二)   上一篇简单介绍了EventBus的简单用法,下面来介绍下EventBus的其它的一些用法 1 事件订阅的优先级的使用 EventBus.getDefault().register(this, priority); 在同一个线程级别中,订阅者的优先级越高,就越先收到消息 ...
                                    开源框架EventBus(一) 1 什么事EventBus        EventBus是一个android事件发布/订阅的高性能框架,主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。优点是开销小,代码更简洁优雅,事件发布者和事件接收者之间的耦合度更小。如果您目前的项目的逻辑非常复杂,例如组件、线程之间大量传参,频繁使用广播的话维护起来比较吃力的话,或许EventBus是一个非常好的选择。 gitHub地址:https ...
1 概念     状态模式又称为状态对象模式,状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类 一样。 2 状态模式的结构    状态模式把所有研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。        模式所涉及的角色有:  抽象状态(State)角色:定义一个接口,用以封装环境(context)对象的一个特定转态所对应的行为。 具体状态(ConcreteState)角色:每一个具体状态类都实现了环境的一个状态 ...
1 什么是策略模式?     策略模式讲的是,如果有一组算法将来它们可能因为需求的原因而发生变更,那么可以将每一个算法都封装起来,使得他们可以互相互换。这样可以在保证系统中原有代码几乎不变更的情况下,只需增加算法的一种实现,即可实现功能的变更。   2 策略模式有什么好处?      策略模式的好处在于可以保证原有代码几乎不变的情况下,实现功能上的扩展,具体体现在可以动态的改变对象的行为. 策略模式遵循了ocp(“开-闭”)的设计原则,一个良好的软件对内是封闭的,对外是易于开放的。   3 设计原则  
1 概念    适配器模式把一个类的接口变换成客户端期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的俩个类能够在一起 工作。     这很像变压器(adapter),变压器把一种电压变换成另一种电压,把美国的电 ...
  1 OCP(open - close Principle)     又叫"开-闭"原则,指的是在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。换而言之,应当可以在不被修改的情况下改变模块的行为。      所有的软件系统都有一个共同的性质,即对他们的需求都是会随着时间的推移而发生变化,在软件系统面临新的需求时,系统的设计必须是稳定的,满足“开-闭”原则的设计可以给软件系统2个无可比拟的优越性: 通过扩展已有软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性 和灵活性。 已有的软件模 ...
Global site tag (gtag.js) - Google Analytics