【啰嗦~】自从接触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_启示录】的更多相关文章

  1. Android启示录——开始Android旅途

    为了明年可以开始进行android程序开发,开始从零开始学习android,仅以此代表第一步开始(*^_^*),开始搭建环境…… 1. 软件下载 http://developer.android.co ...

  2. Android启动篇 — init原理(一)

    ========================================================          ================================== ...

  3. Android 7.0 启动篇 — init原理(一)(转 Android 9.0 分析)

    ========================================================          ================================== ...

  4. Android网络编程(一)HTTP协议原理

    相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley使用方法全解析 A ...

  5. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  6. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  7. Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...

  8. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  9. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

随机推荐

  1. 为什么Node.JS会受到青睐?

    为什么会是Node.JS? 从技术上讲,Node.JS不是一个非常好的项目,Node.JS只是把一个烂想法实现到了可以接受的程度. 但是人们为什么愿意用Node.JS? 从历史看来,成功的项目从来都不 ...

  2. mongoDB & Nodejs 访问mongoDB (二)

    非常详细的文档http://mongodb.github.io/node-mongodb-native/2.2/quick-start/quick-start/ 连接数据库 安装express 和 m ...

  3. jenkins gradle 编译遇到tomcat异常

    使用gradle在jenkins 上构建的时候遇到 进行构建的时候报"Could not load Logmanager org.apache.juli.ClassLoaderLogMana ...

  4. Java中的枚举的治理

    版权声明:本文为博主原创文章,转载请注明出处,欢迎使劲喷 一.为啥用枚举&为啥要对枚举进行治理 1.先来说说为啥用枚举 表中某个字段标识了这条记录的状态,我们往往使用一些code值来标识,例如 ...

  5. Maven使用说明

    maven的作用. Maven 是一个项目管理和构建自动化工具.可以方便我们导入jar包. maven的安装. 要想安装maven,首先你需要安装jdk,并且配置jdk环境变量.右键点击计算机,选择属 ...

  6. 记一次企业级爬虫系统升级改造(六):基于Redis实现免费的IP代理池

    前言: 首先表示抱歉,春节后一直较忙,未及时更新该系列文章. 近期,由于监控的站源越来越多,就偶有站源做了反爬机制,造成我们的SupportYun系统小爬虫服务时常被封IP,不能进行数据采集. 这时候 ...

  7. php文件基本操作与文件管理功能

    文件的基本操作 先来看一下PHP文件基础操作,请看强大注释 <body> <?php var_dump(filetype("./img/11.png")); // ...

  8. golang mutex互斥锁分析

    互斥锁:没有读锁写锁之分,同一时刻,只能有一个gorutine获取一把锁 数据结构设计: type Mutex struct { state int32 // 将一个32位整数拆分为 当前阻塞的gor ...

  9. 【Java基础】通过getResourceAsStream() 加载资源文件

    Class.getResourceAsStream(String path) path不以"/"开头时,默认是从当前类所在的包下面获取资源 path以"/"开头 ...

  10. WIMP环境搭建

    h1 { color: #3366ff } p { font-size: 16px } body { background-color: rgb(200,200,169) } 环境说明 系统:wind ...