美丽新世界


  • 首页

  • 标签

  • 归档

理解 WindowManagerService

发表于 2019-04-15
相关概念Window是一个抽象类,唯一的实现类是 PhoneWindow 分类: 父 Window 子 Window,不能单独存在,需要依附在父 window 上,例如 dialog 系统 Window,例如 toast PhoneWindow在 Activity attach 时构造了 ...
阅读全文 »

HandlerThread、IntentService 理解

发表于 2019-04-02
HandlerThreadHandlerThread 继承 Thread,HandlerThread 本质上就是一个普通 Thread,只不过内部建立了 Looper,因此拥有自己的消息队列。不适合频繁处理耗时操作,因为消息是串行处理的,某个人任务执行时间过长,会导致后续的任务被延迟处理 通过调用 ...
阅读全文 »

Java 内存模型

发表于 2019-03-28
Java 内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性这三个特征来建立的。 经典问题: 20 个线程,每个线程都对同一个 int 做自增操作 100 次,最后的结果 i 一定小余 2000。 Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的 ...
阅读全文 »

浅析 Binder 机制

发表于 2019-03-15
几个概念 进程隔离 进程隔离,不同进程之间,不共享内存。而操作系统是多进程的,因此需要 IPC。 进程空间划分 Kernel 是操作系统的核心,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。因此把 Kernel 和上层的应用程序隔离,分为内核空间和用户空间。 Android ...
阅读全文 »

Android 焦点分发机制梳理

发表于 2019-03-13
ViewRootImpl连接 DecorView, Window DecorView -> Activity -> PhoneWindow -> DecorView 的来回绕一圈。 既然触摸事件已经到了 Activity.dispatchTouchEvent() 中了,为什么不直 ...
阅读全文 »

Android 启动模式

发表于 2019-03-13
相关的概念 ActivityStack 应用程序在一个单例的 ActivityStack 中,一个 ActivityStack 可能包含了多个 task TaskRecord 一个进程(程序)有一个默认的task affinity,默认为包名 Activity 会进入启动它的 Activit ...
阅读全文 »

Java 类加载机制

发表于 2019-03-02
类的生命周期 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化 加载这个阶段会在内存中生成一个代表这个类的 java.lang.Class 对象,作为方法区这个类的各种数据的入口。 验证确保 Class 文件的字节流中包含的信息是否符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。 ...
阅读全文 »

从字节码层面理解泛型

发表于 2019-02-12
命令行12345//编译成 class 文件javac Test.java //反汇编 class 文件javap -V Test.class Android Studio 编译的 class文件位于 build/intermediates/clases/debug/包名 下 IDEA 插件 jcl ...
阅读全文 »

《C++ 程序设计》读书笔记

发表于 2018-12-16
本文联合编辑:小辣辣。向她致以最崇高的敬(爱)意 ❤ 第一章 C++的初步认识在程序进行编译时,先对所有的预处理命令进行处理,将头文件的具体内容代替 #include 指令,然后再对该程序单元进行整体编译。 对函数做声明,它的作用是通知 C++ 编译系统。 第二章 数据的存储、表示形式和基本运 ...
阅读全文 »

APK 的前世今生:从 Android 源码到 apk 的编译打包流程

发表于 2018-11-18
最近想要研究热修复的原理,并自己实现一套简单的热修复框架(音视频的坑刚挖好就又挖另一个坑了2333),已经在看书入门 c++,方便后续查看业内一些知名热修复框架的源码,另外在涉及编译期/运行时修改代码之前,先了解一下 apk 是如何从项目源码被打包生成的,可能对后续的从思路上或实际操作都会所裨益。 ...
阅读全文 »
123…5
Taki

Taki

47 日志
19 标签
RSS
GitHub
© 2022 Taki
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4