美文网首页
Android学习记录:第一个2小时

Android学习记录:第一个2小时

作者: what_a_day | 来源:发表于2017-10-12 14:24 被阅读0次
    总记

    主要是使用搜索引擎进行各种搜索,各位前辈积累了大量优质的网络资料。
    在本次的学习过程中,感谢以下两个站:
    Coding And Living
    老罗的Android之旅
    PS: Coding And Living的站在美国,访问稍慢。老罗的站,会讲的更深入一些。

    问题1:Android系统是如何启动的?
    问题目标:

    了解其启动流程即可,不需要研究具体实现。不做深入研究。

    需要准备的知识:
    • 基础的操作系统原理。
    • 基础的硬件知识,知道CPU、内存、磁盘之间的关系。
    学习小记:
    推荐: 详解 Android 是如何启动的

    因为自己做过些嵌入式开发,算是对Linux操作系统略知一二,所以这部分的学习还算是比较快。
    搜索引擎直接使用了百度,因为已经穷到付不起vpn的钱了。
    看了大约十篇左右的文章。感谢前辈们的知识输出。

    问题2:Android系统中的App是如何启动的?
    问题目标:

    仍然是了解启动流程即可,不做深入研究。

    需要准备的知识:
    • 进程、线程、IPC
    • 基础的Java代码阅读(知道加减乘除循环判断等基础语法即可)
    学习小记:
    推荐: Android 应用进程启动流程

    学习过程中,最难的地方在于会产生其他的疑问。比如Activity是如何跟AMS通讯的?既然Activity可以在不同的进程里,那么App的main函数在哪里?等等诸如此类。
    这些问题有些随手搜索,很快就能够得到答案,有些就需要仔细研究一下了。对我来说比较难的问题,会列在下面的学习记录中。

    问题3:前面的学习中会遇到IPC,Android的IPC机制是怎样的?
    问题目标:

    了解Android的IPC机制。

    需要准备的知识:
    • 进程、线程、IPC
    • 代理、反射
    学习小记:
    推荐: Android Binder 全解析(1) -- 概述
    推荐: Android Binder 全解析(2) -- 设计详解
    推荐: Android Binder 全解析(3) -- AIDL原理剖析

    这部分对我来说有点儿复杂。主要是学习过程中,对Activity和Service两个东西的理解并不是很清楚。
    不过,仍然觉得,应该先搞清楚IPC,然后再去了解Activity和Service。也就是,先搞清楚了大框架,再去关注细节的意思。

    问题4:Activity是怎么启动和结束的?
    问题目标:

    了解Activity的启动和结束流程。

    需要准备的知识:
    • 进程、线程、IPC
    • 代理、反射、回调等
    学习小记:
    推荐: Android Activity 生命周期是如何实现的

    这部分其实没什么难点,就是反射、回调、状态锁等一些常规的软件实现过程。

    其他小问题:

    Activity是一个进程,还是一个线程?
    App的main函数在哪里?
    我为何会觉得Android中的Task会如此的不人道?(这个问题没有得到解决)

    小结

    算是初次真正接触Android开发。从一个程序猿的角度来讲,对这个系统的初次感受:

    开放但不够友好。



    两个小时的学习中,留下了印象的主要关键词:

    Linux | Zygote | IPC | Binder | Activity Manager Service
    其实还有个问题没有得到解决:

    Android给了开发者足够的发挥空间。那么,代价呢??

    相关文章

      网友评论

          本文标题:Android学习记录:第一个2小时

          本文链接:https://www.haomeiwen.com/subject/nfwnyxtx.html