前言
众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。
所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。
Framework这么重要,那我们该如何学习呢?
关于如何学习Android Framework开发知识,最近有幸在前阿里技术总监手里扒到这份Android framework高级开发笔记,部分知识章节发布到了在知乎上竟然1000+点赞,今天就拿出来分享给大家。
本笔记讲解了Framework的主要模块,从环境的部署到技术的应用,再到项目实战,让我们不仅是学习框架技术的使用,而且可以学习到使用架构如何解决实际的问题,由浅入深,详细解析Framework,让你简单高效学完这块知识!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yLmPmt1F-1620465098479)(https://upload-images.jianshu.io/upload_images/24944255-a8db538a41e81579.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
一、Android基础
Android基础知识点比较多,看图。
建议阅读:
《Android开发艺术探索》
1. Activity
# Activity的四大启动模式,以及应用场景?
Activity
的四大启动模式:
standard
:标准模式,每次都会在活动栈中生成一个新的Activity
实例。通常我们使用的活动都是标准模式。singleTop
:栈顶复用,如果Activity
实例已经存在栈顶,那么就不会在活动栈中创建新的实例。比较常见的场景就是给通知跳转的Activity
设置,因为你肯定不想前台Activity
已经是该Activity
的情况下,点击通知,又给你再创建一个同样的Activity
。singleTask
:栈内复用,如果Activity
实例在当前栈中已经存在,就会将当前Activity
实例上面的其他Activity
实例都移除栈。常见于