文章 2017-11-09 来自:开发者社区

Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析(2)

注意,这里的参数reply = 0,表示这是一个BC_TRANSACTION命令。         前面我们提到,传给驱动程序的handle值为0,即这里的tr->target.handle = 0,表示请求的目标Binder对象是Service Manager,因此有:   target_node =...

文章 2017-11-09 来自:开发者社区

Android系统进程Zygote启动过程的源代码分析(2)

 Step 2. AndroidRuntime.start         这个函数定义在frameworks/base/core/jni/AndroidRuntime.cpp文件中: /*   * Start the Android runtime. &nb...

文章 2017-11-09 来自:开发者社区

android之LruCache源代码解析

移动设备开发中,因为移动设备(手机等)的内存有限,所以使用有效的缓存技术是必要的.android提供来一个缓存工具类LruCache,开发中我们会经经常使用到,以下来他是怎样实现的. 在package android.util包里面有对LruCache定义的java文件.为了能准确的理解LruCache,我们先来看看原文的说明: * A cache that holds strong refe.....

文章 2017-11-08 来自:开发者社区

在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何才能DIY自己的内核呢?这篇文章一一道来。       一. 首选,参照前一篇在...

文章 2017-11-08 来自:开发者社区

Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析(2)

这个函数虽然很长,但是主要调用了talkWithDriver函数来与Binder驱动程序进行交互:   status_t IPCThreadState::talkWithDriver(bool doReceive)   {       LOG_ASSERT(mProcess->mDriverFD&nbs...

文章 2017-11-08 来自:开发者社区

Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的源代码。细心的读者会发现,这几篇文章分析的Binder接口都是基于C/C++语言来实现的,但是我们在编写应用程序都是基于Java语言的,那么,我们如何使用Java语言来使用系统的Binder机制来进行进程间通信呢?这就是本文要介绍的Android系统应用程序框....

文章 2017-11-08 来自:开发者社区

Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析(下)

 四. 匿名共享内存的锁定和解锁操作         前面提到,Android系统的运行时库提到了执行匿名共享内存的锁定和解锁操作的两个函数ashmem_pin_region和ashmem_unpin_region,它们实现在system/core/libcutils/ashmem-dev.c文件中: int ashm...

文章 2017-11-08 来自:开发者社区

Android应用程序启动过程源代码分析(2)

       Step 8. ActivityStack.startActivityLocked         这个函数定义在frameworks/base/services/java/com/android/server/am/ActivityStack.java文件中: public clas...

文章 2017-11-08 来自:开发者社区

Android应用程序启动过程源代码分析(3)

       Step 16. ActivityThread.handlePauseActivity         这个函数定义在frameworks/base/core/java/android/app/ActivityThread.java文件中: public final ...

文章 2017-11-08 来自:开发者社区

Android应用程序启动过程源代码分析(5)

 Step 35. MainActivity.onCreate       这个函数定义在packages/experimental/Activity/src/shy/luo/activity/MainActivity.java文件中,这是我们自定义的app工程文件: public class MainActivity ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

mPaaS 移动开发平台

mPaaS 源于蚂蚁集团金融科技,为 App 开发、测试、运营及运维提供云到端的一站式解决方案,致力于提供高效、灵活、稳定的移动研发、管理平台。 官网地址:https://www.aliyun.com/product/mobilepaas/mpaas

+关注