- 博客(17)
- 收藏
- 关注
原创 AI(人工智能) TensorFlow 源码下载及编译安装
源码下载: git clone https://github.com/tensorflow/tensorflow cd tensorflow git checkout r1.1切换1.1版本的代码编译环境配置(Ubuntu14.04)1.python : a. python 的版本是2.7 的话,如下安装:sudo apt-get install python-numpy py
2017-05-04 14:06:43
2145
原创 android activity管理(七)之ensureActivitiesVisibleLocked()
ensureActivitiesVisibleLocked()负责校正所有Task中的Activity的状态,在系统内部,无论是ActivityRecord、Task还是Stack,无非都是增加、减少、移动的操作,在这些操作之后,再调用resumeTopActivityUncheckedLocked()和ensureActivitiesVisibleLocked()就万事大吉了
2017-05-01 11:25:32
1941
原创 android activity管理(六)之ActivityRecord的回收
对于外部请求的回收,只能是回收自己,这个很好理解,如果可以任意指定回收的话,我们指定把home的activity回收了,系统就不用运行了
2017-05-01 11:11:56
1279
原创 android activity管理(五)之ActivityRecord的启动
ActivityRecord的启动分为三个步骤,第一个步骤ActivityRecord复用查找,第二个步骤是ActivityRecord入栈,第三个步骤是ActivityRecord唤醒
2017-05-01 11:07:03
1167
原创 android activity管理(四)之Task管理
Activity代表的是一个活动,Task就是一系列相关的活动,这种概念来源于管理学,任务(Task)的完成需要分解为各个活动,比如微信聊天任务(Task),需要打开微信活动->登录微信->查找到好友->发起聊天等等活动(Activity)
2017-05-01 10:57:17
973
原创 android activity管理(三)之ActivityRecord生命周期管理
ActivityRecord是系统AMS的activity记录表,每一个ActivityRecord对应一个Activity,本小节只要分析ActivityRecord数据和生命周期管理方法
2017-05-01 10:51:29
2721
原创 android activity管理(二)之Activity(ActivityClientRecord)生命周期管理
ActivityClientRecord 是apk进程中一个Activity的代表,这个对象的activity成员引用真正的Activity组件,一个Activity涉及到哪些对象呢?
2017-05-01 10:39:27
5088
2
原创 android activity管理(一)之activity的状态管理
activity的状态分为三个层次来理解,第一个层次是ActivityRecord的状态,第二个层次是ActivityClientRecord的状态,第三个层次是Activity组件的状态
2017-05-01 10:25:41
967
原创 android java进程管理(八)之lowmemorykiller
lowmemorykiller子系统包括内核模块,守护进程,客户端三个部分
2017-05-01 09:53:34
501
原创 android java进程管理(七)之进程状态和adj值
进程的状态和adj值用来定义进程的重要性,如何体现这种重要性?我们知道进程是用来运行组件的,所以组件的重要性就相当于进程的重要性,进程状态和adj值需要以组件的状态为核心来理解。
2017-05-01 09:21:54
2603
原创 android java进程管理(六)之apk进程的回收
进程的回收就是进程占用资源的回收,从(进程管理(四)之进程记录表小节)中发现,一个进程占用的最重要的资源就是8个ProcessRecord容器和内部四大组件记录表的容器,android为这些资源的回收提供了三个级别的方法,下面我们来看一下每一级别的方法都释放了哪些资源
2017-04-18 09:54:40
7158
原创 android java进程管理(五)之system_server的启动
如前面讲解zygote小节中,system_server进程的java入口是SystemServer::main(),这个主方法直接调用了SystemServer::run()方法,然后在这个方法中启动所有的java binder服务,逻辑很简单,就是按部就班的处理,下面我们分析最重要的三个binder服务的启动流程。
2017-04-18 09:53:22
6444
原创 android java进程管理(四)之进程记录表(ProcessRecord)
ProcessRecord 数据结构第一类数据:描述身份的数据1.ApplicationInfo info:AndroidManifest.xml中定义的Application信息2.boolean isolated:是不是isolated进程3.int uid:进程uid4.int userId:这个是android做的多用户系统id,就像windows可以登录很多用户一样,android
2017-04-18 09:49:57
10707
原创 android java进程管理(三)之apk进程的启动
声明:一个apk进程包括两种资源,一种是进程本身运行实体,另一种就是系统管理进程的进程记录表(ProcessRecord),进程的启动和回收就是申请和释放以上两种资源,对第一种资源的申请过程我们定义为launch进程,对第二种资源的申请过程我们定义为new进程记录表,进程记录表(ProcessRecord)是系统对apk进程的详细描述记录,基于复用原则,进程记录表的生命周期是大于等于进程实体的生命周期的,理解这一点很
2017-04-18 09:46:08
12350
1
原创 android java进程管理(二)之zygote
app_processapp_process是c++本地进程,源码目录为 frameworks/base/cmds/app_process/ app_process是可以执行java代码的命令(因为它启动了一个java虚拟机),它有两种启动模式1.zygote 模式:通常情况下,在–start-system-server启动参数的配置下,app_process启动之后,直接fork syste
2017-04-17 13:21:38
11369
原创 android java进程管理(一)之进程模型
android 操作系统的进程模型本地进程和Java进程的关系记得曾经在研究gnome桌面系统的时候,看到开发者的一句话:面对一个庞大的开源项目,就像把我们扔到一个一线城市的市中心,然后让你通过自己的双脚丈量出整个地图,何其复杂,真的是一脸懵逼呀,每当这个时候,我是多么希望有人可以总结一份模型文档,超脱代码的境界,深入的了解操作系统是怎么架构出来的,其实在最早开发android系统的时候,一定是会有
2017-03-30 09:05:09
11326
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-03-30 08:31:51
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人