写于2015年12月3日

不同的android版本,不同的framework实现,framework有近2亿行代码,版本越高,代码行数越大,这个过程是很痛苦的。所以不要去学习和阅读framework的源代码。

阅读它的源代码,还不如去学英语,多看应用层的API,多看理财的书籍。

如果不做framework开发,做app开发的话,看了framework的代码对app开发的帮助是很少的,公司不会因为这个而给你加工资,还不如去学习英语,金融等给自己加薪,和用钱赚钱。

------------

1、首先觉得你的题目和问题描述不太搭边。你所说的复杂功能效果实际上几乎都是应用层的,和framework不搭边。因为如果只是做应用开发,那就完全依赖现成的基础组件和接口,最多自定义一下组件和布局。你在网上找到的很流畅很美观的现成组件都是别人自定义之后封装的。别人能做,实际上你应该也能做。多看看别人的demo,试着对你不满意的地方做点改进,总会有收获。一旦觉得有点心得,记录下来或者把你封装的东西拿出来让大家用用,一起讨论讨论,必然收获更多。

2、关于framework,更多是做的应用层之下的系统层面的东西。比如电源管理、消息队列、包管理等等,还包括对硬件的支持及系统提供给上层的硬件功能调用接口。framework的学习必然离不开不断编译rom和刷机。这就要求有耐心有时间有兴趣。而且由于framework层多数模块都是以JNI方式被调用的,因此你需要有比较扎实的C语言基础,之少能看懂程序结构。除此之外,对你想要详细研读的模块在应用层的应用需要有必要的理解。我刚开始看源码的时候是从电源管理模块开始看的,就是因为当时对android系统自带的电源提醒方式以及电量通知不太满意,想重新定义更多层级的提醒。刚开始也是一头雾水,但还是硬着头皮一点点啃。这个过程中,为了防止忘记之前看过什么,所以又不断对看过的源码做注释并做阅读笔记。大概两三个月,虽然了解的也比较浅显,但是我的目的达到了。源码之路漫漫,看个三五年都不一定敢说能够整体吃透。虽如此,但只要有钻研的方向和基本的能力,相信工作中遇到的framework层的改动应当还是能够负担得住的。

3、如果不想深入framework,其实你也可以做android系统应用的开发。这一步几乎和上层应用开发差不多,不过可以调用的库更丰富,权限更高罢了。这个可以自己研究,参照android系统出场自带的应用。

说了这些。希望能够有点帮助。

开发应用层的需要了解 framework层吗?---不需要!!!!相关推荐

  1. 从Android应用层及Framework层的角度分析WakeLock锁机制

      从Android应用层及Framework层的角度分析WakeLock锁机制 本篇博客编写思路总结和关键点说明: 为了更加方便的读者阅读博客,通过导读思维图的形式将本博客的关键点列举出来,从而方便 ...

  2. Android开发如何定制framework层服务

    刚刚跨完年,新年第一篇文章,那么今天将对Android开发framework中间层的服务定制使用作个总结.首先我们先导入Android平台源码framework层的代码到开发工具eclipse中,代码 ...

  3. Android Framework中的Application Framework层介绍

    Android的四层架构相比大家都很清楚,老生常谈的说一下分别为: Linux2.6内核层,核心库层,应用框架层,应用层.我今天重点介绍一下应用框架层Framework. Framework层为我们开 ...

  4. Android源码分析 - Framework层的Binder(客户端篇)

    开篇 本篇以aosp分支android-11.0.0_r25作为基础解析 我们在之前的文章中,从驱动层面分析了Binder是怎样工作的,但Binder驱动只涉及传输部分,待传输对象是怎么产生的呢,这就 ...

  5. 初识Android framework层

    Android系统的构成如下,从上到下依次是 Application应用层 Framework框架层 LIbrary系统库层 Linux内核层 关于Framework层: Android的Framew ...

  6. 了解Framework层对一名Android工程师的工作有什么帮助吗?

    了解Framework层对一名Android工程师的工作有什么帮助吗? 最近有一个朋友向我问了一个这样的问题: 作为一个应用开发工程师,在网上有看到过大家都说了解系统源码,例如四大组件启动流程及IPC ...

  7. Android10.0 Binder通信原理(八)-Framework层分析

    摘要:本节主要来讲解Android10.0 Binder 在Framework的使用分析 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,An ...

  8. android power 按键,Android Framework层Power键关机流程(一,Power长按键操作处理)

    一:Android处理Power按键长按操作 在Framework层中,Android4.x对Power键(KeyEvent.KEYCODE_POWER)的操作,我们从PhoneWindowManag ...

  9. android l camera no panorama,Android Camera从App层到framework层到HAL层的初始化过程

    Android camera 从上到下能够分为四个部分: Application层. framework层. HAL(hardware abstract layer)层. Kernel层 通常面向开发 ...

最新文章

  1. vue 实践技巧合集
  2. 【转】HTTP协议详解
  3. GStreamer(一)
  4. vm8中装了redhat9 在安装vmwaretools的时候老是出现gcc位置错误
  5. 谈谈复杂多分类问题上的一些个人理解
  6. NAT原理?代理服务器原理?
  7. python 创建工具包_使用Python工具建立网站
  8. Windows修改hosts
  9. hdu 1104 Remainder
  10. Linux查看磁盘是否被占满,怎么查看Linux磁盘空间是否满了?
  11. 基于51单片机的医院银行排队叫号系统proteus仿真程序原理图设计
  12. 【转】Simulink中matlab Function模块全局变量的使用方法总结
  13. com.alibaba.druid.sql.parser.ParserException: syntax error, QUES %,
  14. 关于移动视频直播技术,关键干货都在这里(一)采集
  15. Uva 437 巴比伦塔  UVA10003
  16. 用 Python 写个魂斗罗
  17. 软键盘怎么打开,软键盘怎么调出来
  18. Pycharm 的设置背景颜色和字体颜色
  19. Flask前后端分离02
  20. 2021年安全员-A证考试内容及安全员-A证模拟考试

热门文章

  1. mysql跟memcache的区别_MySQL-mysql Memory Storage Engine 和memcache到底有何不同?各自的优缺点是什么?...
  2. Ajax在IE浏览器会出现中文乱码解决办法
  3. spark将rdd转为string_八、Spark之详解Tranformation算子
  4. tcp网络通信教程 java_基于java TCP网络通信的实例详解
  5. qtcreator摄像头显示时间_三星Galaxy S11 +渲染器展现出巨大的相机凹凸和四边形曲面显示...
  6. android添加删除项目,编写android计算器添加删除按钮,出现很抱歉,XX项目已停止运行。...
  7. Linux基础(文件权限续篇)
  8. shell判断字符串是否为数字
  9. 在命令行模式下管理SELinux
  10. p批处理替换目录下文本中的字符串