2017下半年博客更新计划
写博客是检验学习水平的一个不错的手段。
今年下半年的博客计划:(主要面向Android和Java)
1.生命周期(主打)
Android的生命周期一直是新手开发人员的难点,主要是这是Android自己定义的一套程序运行理论。与桌面客户端不同,手机是电池供电的系统,以及有限的存储空间和运行内存,所以Andoroid提供了一套基于生命周期的应用开发过程。
或许,即使是有多年开发经验的开发者,也未必能对Android生命周期有深刻的体会。他们可能大部分时间都花在了业务设计和功能需求的完成上,而忽略了对整个开发过程的思考,这样的话,在后期极有可能遭遇到一些匪夷所思的运行异常。
因为生命周期是一个与系统运作紧密相关的话题,所以笔者试图从Android的进程,线程和四大组件的关系为起点,重点探讨应用在运行时生命周期的原理以及尝试分析Android使用基于生命周期的开发模式的缘由。
写这类博客并不是空穴来风,考虑到这个问题的动机是刚结束不久的Google 2017 IO开发大会。虽然有人说这次没有什么亮眼的东西,但是我觉得此次有可能是Android的一个转折点。此前饱受攻击的卡顿问题得到了很大的改善,并且一个最让我感到意外的是推出了一个名为“架构组件”的东西,而且这个组件最重要的一点就是对于生命周期的重要性的确定。这个组件的核心思想就是
Android四大组件(先简单这么说)是要和数据解耦的,因为你不清楚什么时候Activity就会被销毁重建,同样你保存在组件里面的内容同样也不会再出现在新的组件中。另外,在应用在后台的时候,有些针对应用界面更新的数据明显没有什么“价值”,所以应用在后台就可以放下任何对界面更新相关的工作,这同样与生命周期有关。
计划:7月~9月,定时更新,后面会先输出一个更新表
更新表:
每周四更新:
- 进程与四大组件
- activity 生命周期1
- activity 生命周期2(fragment相关)
- service生命周期
- contentprovider生命周
- Broadcast生命周期
- google 生命周期框架组件解读(Livedata...)
- 总结
2.对Android周期架构的思考
这个部分有两个重点,一个是对现有的常见开发架构做一个简要分析以及说出我的想法;另一个是打算写一个小的项目(记事本)来直播我开发过程中的所见所思。
第一个不用多说,网上已经有大量的关于架构的解读,不会作为重点。另一个其实面向新手开发者,因为项目不一定能成功(可能是设计出了一个糟糕的架构),如果成功了就分享经验,如果失败了就总结教训。这个系列会不定时更新,内容以开发时遇到的问题和思考为主。当然,源码和设计文档完全公开,以及开发过程中出现的变动也会一一说明。
计划:7月~10月底,不定时更新
3.Android系统的原理和设计思想(主打)
Android操作系统由于其开源,很多人都开始或想了解其原理或为了更好的开发或为了从中吸取设计的思路。我有幸也是其中的一员,之前也从网上看到很多人也写了一些原理,不过操作系统太庞大,肯定有一些还无人涉足或分享的原理或者是有一些描述不清的分析需要进一步的阐释。
一般来说,如果网上已经有比较多或讲的很透彻的地方我就不再赘述,只有一些值得思考的细节我再拿出来细说。
分析应该包含两个部分,一个是对原理的解读,第二个是此类设计方法的优缺点的总结。
计划:7月~9月不定期更新,9月~12月定期更新
4.SDK: Android SDK 与 Java SDK
SDK一直是开发人员的一把利器,因为精简了开发步骤同时省去了“造轮子”的过程。使用已有的Api固然很爽,但是很多时候都是想用的时候要么没找到,要么就是压根就以为SDK中没有这东西,然后利用了自己的经验重新实现了一遍,或许还没有SDK中的好。
这个系列的目的有两个,一个是将SDK里面的内容进行整理分类,总结出哪些是已经有的;另外,根据整理的内容来告知开发者,他们设计SDK的套路是如何,为什么他们提供了这些东西。
然后在开发过程中 当遇到一个需求时 可以大概判断SDK中是不是已经有了一些东西可以帮助实现这个需求
计划:10月~12月,定时更新,大概九月底输出目录,同时输入一个LittleDemo,基础用法的集合(包括概括的讲述原理)
列出这些计划的目的也是希望督促自己要输出自己的价值,之前都是在网络上不劳而获,现在也是该奉献的时候啦!