摘要:
概述 该篇基于AndroidQ,主要介绍系统启动中的 AMS(ActivityManagerService)的启动过程。 AMS对四大组件(AndroidQ将activity移到了ActivityTaskManagerService中,但也和AMS相关联)进行管理和调度。同时,AMS也对进程、电池、 阅读全文
摘要:
前言 Binder 从java到c++到kernel,涉及的内容很多,很难在一篇文章中说清楚。这篇主要是自我记录,方便后续查询并拆分总结的。 因为涉及的的确非常多,不能面面俱到,所以可能一些地方感觉比较模糊、没说明白的。这需要自己去阅读了解。文章很长,需要耐心。 关于基础部分,并不是都要了解了才行, 阅读全文
摘要:
前言 SELinux(Security-Enhanced Linux)是一套强制性的安全审查机制(强制访问控制)。Android从5.0(L)开始启用SELinux Enforce模式,即既打印异常log也拒绝请求。增强了系统及进程的安全性,最明显的一点是限制了ROOT权限,之前ROOT就能获取所有 阅读全文
摘要:
概述 在Android中的多进程、多线程中提过,只有主线程(UI线程)可以更新UI,其他线程不可以,所以一般耗时操作放到子线程。子线程可以通过Handler将相关信息通知到主线程。 Android的消息机制主要是Handler机制。Handler的工作过程,还有两个重要部分MessageQueue( 阅读全文
摘要:
概述 在开发中,当现有控件不能满足需求时,可能就需要自定义控件来实现。 自定义控件,一般就是继承View或者View的子类,或者组合方式(即自定义控件中包含已有控件)。 先看下效果,然后详细说明下,最后附上相关完整的代码 这是个自定义的饼状图(2020第一季度珠三角九市GDP),并且当点击相应区域会 阅读全文
摘要:
背景及问题 自从使用markdown后,写总结/博客变得很舒服。 因为markdown的通用性好,“写作”时 基本只需要键盘。关键是 你可以在任何编辑器书写,然后放到哪基本都是一样的不需要调整。 总结一般在云笔记上,没用markdown时,每次把文章移到其他地方会很费劲。比如想把一篇文章发布到博客园 阅读全文
摘要:
什么时策略模式 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。 比如,旅游时,可以选择飞机、火车、公共汽车、骑行、步行或者开车等不同的方式,每种方式都是一种策略。 注:策略模式也是一种行为型模式。 策略模式优缺点 优点 避免使用多重条件判断。 阅读全文
摘要:
什么是观察者模式 它定义对象间的一种一对多的依赖关系,可以在一个对象的状态/事件发生改变时,通知多个 “观察” 该对象的其他对象。 这个应该很好理解,就像订阅机制一样。当订阅的内容更新后,会推送给所有订阅者了。 注:观察者模式是一种行为模式(这类模式负责对象间的高效沟通和职责委派。)。 主要角色 抽 阅读全文
摘要:
什么是适配器模式 适配器模式,它能使接口不兼容的对象能够相互合作,协同工作。 例如:现实中,出国旅游,国内时电压220V,手机充电器正常使用,但到日本电压为110V左右,不能直接使用。这时就需要一个适配器(电压转换装置),将110V转化为220V。适配器模式就是类似这样的作用。 注:适配器模式是一种 阅读全文
摘要:
什么是建造者模式 建造者模式,将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 如:计算机由CPU、内存、主板、硬盘、电源等组成,组成计 阅读全文