- 博客(7)
- 资源 (1)
- 收藏
- 关注
转载 由AMS和activityThread的交互理解binder(java层)
在ActivityThread中发现了一个ApplicationThread对象,这个对象是AMS回调app进程的binder服务端;在android的源码中IApplicationThread.aidl是一个aidl接口,android O源码编译,在out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/core/java/an...
2018-03-21 15:11:21 1409
转载 思考activity和service的进程和线程关系
最近学习binder通讯的时候,突然发现想到一个问题,一般startservice启动一个服务如果没有指定进程的时候,启动的service和activity会存在于同一个进程吗?service和activity是同一个线程吗?在启动过程中,如果需要,是怎么控制重启进程和线程的?基于上面的问题,我决定翻翻activity和service的启动过程。直接翻android O源码!先看源码然,然后写一个...
2018-03-20 16:48:05 1498
转载 线程和进程的理解
最近发现对于进程和线程的理解存在一些疑惑,就复习了下大学教科书操作系统教程。先转发一个关于linux进程和线程的总结博客:http://blog.csdn.net/ylyuanlu/article/details/9115073在来说操作系统对于进程介绍:首先要明白一点对于进程是基于操作系统存在的前提下,在操作系统中才存在进程;现在使用的操作系统大部分都是多任务的,操作系统为方便管理多个相互独立的...
2018-03-15 12:08:12 236
原创 深入理解android的loop handler message以及thread的关系
先由线程说起Thread,线程创建时,为了能够使得线程有一个工作函数,一般有2种方法:重写run方法和创建线程时指定一个实现了Runnable接口的对象实例,当然也可以同时实现这2种方法,因为在Thread类中run方法实现如下@Overridepublic void run() { if (target != null) { target.run(); }}...
2018-03-12 20:52:48 1607
转载 深入理解java虚拟机笔记二:垃圾收集器与内存分配策略
Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由JIT编译器进行一些优化,但在本章基于概念模型的讨论中,大体上可以认为是编译期可知的),因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多...
2018-03-06 18:29:44 175
转载 深入理解java虚拟机笔记一:内存管理机制
java虚拟机运行时,管理的内存包含5个数据区域:1.方法区;2.堆;3.java虚拟机栈;4.本地方法栈;5.程序计数器 程序计数器(Program Counter Register):当前线程所执行的字节码的行号指示器, 线程单独拥有,标识当前线程的运行轨迹以及将要运行的代码跳转逻辑; 记录的是正在执行的虚拟机字节码指令的地址, 对于java方法这个地址值才可以正确表示,而native方法,对...
2018-03-05 16:40:15 394 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人