【Android N_启示录】
【啰嗦~】自从接触Android以来,大概也有3年时间,基本是跟着项目走,做过的东西不算多也不算少,从当初做上层应用到系统级应用,再到Framework,以及后来接触功耗、性能优化等需求。给我的感觉就是学的东西杂而很难精益求精,我想有必要写点东西,把自己认可的干货或学习心得做个记录,一来以备查询,挽救我这令人心伤的破记忆,二来也可以跟Android相关开发/爱好者共同交流,取长补短,提升自我!有不足之处也请各种践踏,给予批评指正!
---------------------------------------------------------------------------------------------------------------------------------------
从今天开始,对于Android N的源码分析,主要来源于以下三方面的资源:
1、个人项目中所做模块的经验分享
由于目前接触的项目几乎都是建立在Android 5.1和6.0上的,所以与N对比,源码还是出现了很大的改动,从17开始,整机开发的Android系统应该都会是基于7.0以上。目前很多模块对于源码的分析参差不齐,而且很多都大同小异。
基于6.0源码分析的尚且甚少,基于7.0的更少,过旧的源码框架和变更的函数及接口不太适合新手或模块新人去跟踪源码并学习分析,所以后面写的每一篇源码都会基于7.0的版本。(PS:当然Android O也快出来了,有新特性还是会一起分析分享)
这个专区主要的模块应该会集中在系统层面,所分析的源码集中于Framework/下,当然也会涉及到一些其他目录下的源码(只能说,水太深),我会尽量写的基础,写的全面,让你知道去哪找,能够读懂上下文!
2、除项目以外,个人兴趣模块学习经验分享
相信大家除了工作上迫不得已被逼迫的搞一些自己不愿意的模块以外,还是想研究一些自己感兴趣的东西,比如我一直被压迫搞基础框架(AMS、PMS...),其实我想搞网络基础协议(Wifi),比如我被逼迫搞三方兼容性问题(其实就是一个扯淡的工作,很少有改动代码的工作量),其实我想写几行代码!再比如...
由于大部分的经验都集中在框架层,不严格的来说是Android中间层,还是对上层应用组件比较感兴趣的,毕竟也想去研究学习~
对于应用这一块还是新手,希望能够从系统转应用的过程中,尽量多的学习,跟大家多多交流,欢迎打脸!
3、Linux相关的知识点总结和经验分享
我始终坚信想搞好Android,对于Linux的基础掌握是必须的,如果能够很好的了解Linux系统的相关知识(当然能够深入一点是最好的),对于Android的编译和底层(包括JVM)等的学习和掌握还是相当好的!这其中会包含git、shell等知识点的学习!
对于Linux的学习,我也会以专题的形式,写一些干货,与大家一起交流学习!再次鼓励打脸!
---------------------------------------------------------------------------------------------------------------------------------------
【再啰嗦~】以上为个人今后技术总结的蓝图雏形,定个大概方向,后面就慢慢的强化细节吧。总的来说,梦想是好的,能不能坚持下去,还是个问题,不过梦想还是要有的,万一实现了呢?
【Android N_启示录】的更多相关文章
- Android启示录——开始Android旅途
为了明年可以开始进行android程序开发,开始从零开始学习android,仅以此代表第一步开始(*^_^*),开始搭建环境…… 1. 软件下载 http://developer.android.co ...
- Android启动篇 — init原理(一)
======================================================== ================================== ...
- Android 7.0 启动篇 — init原理(一)(转 Android 9.0 分析)
======================================================== ================================== ...
- Android网络编程(一)HTTP协议原理
相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley使用方法全解析 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
随机推荐
- Selenium 运行时出现错误(java.lang.NoClassDefFoundError: com/google/common/base/Function)
已经写好了java脚本,点击运行的过程中如果出现如下的错误提示时: java.lang.NoClassDefFoundError: com/google/common/base/Function 问题 ...
- x86主机搭建家庭智能路由系统 ---- Proxmox虚拟化实现一机多用
Proxmox VE简介 Proxmox VE(Proxmox Virtual Environment) 是一款完全开源虚拟化管理平台,可以管理QEMU/KVM虚拟机和LXC容器.事实上它只是一个前端 ...
- Jaro-Winkler Distance
发现commons-lang 中有实现: StringUtils.class public static double getJaroWinklerDistance(final CharSequenc ...
- fopen参数
此文用于学习交流 原作:http://www.cnblogs.com/ai616818/archive/2012/04/26/2470918.html FILE * fopen(const char ...
- Canvas的下雪效果
cfs.snow.js canvas 下雪场景 不会影响页面使用 使用方式非常简单 利用这个js文件,我们就能很快的让页面出现下雪的动画效果. 例如 <script type="tex ...
- JavaScript数据结构——链表的实现
前面楼主分别讨论了数据结构栈与队列的实现,当时所用的数据结构都是用的数组来进行实现,但是数组有的时候并不是最佳的数据结构,比如在数组中新增删除元素的时候需要将其他元素进行移动,而在javascript ...
- C语言之一天一个小程序
程序示例: #include <stdio.h> #include <stdlib.h> int main() { printf("Hello,world!\n&qu ...
- JsonCpp(C++程序使用)
C++ json解析库 github C++: Makefile目录cmd:make 得到build 得到.a静态库 Eclipse引入头文件 (include目录) 引入.a静态库 编译设置: O ...
- 性能测试平台效率优化的一次经验(python版)
在做性能测试平台的优化过程中,由于启动任务相对其他测试任务比较频繁,而目前30次两个包的交叉对比(30次)测试需要耗时30分钟整,因此打算优先对测试流程做一次优化,将测试时间消耗降低到20分钟. 由于 ...
- [cookie篇]从cookie-parser中间件说起
当我们在写web的时候,难免会要使用到cookie,由于node.js有了express这个web框架,我们就可以方便地去建站.在使用express时,经常会使用到cookie-parser这个插件. ...