文章 2022-01-26 来自:开发者社区

【Android 内存优化】Java 内存模型 ( Java 虚拟机内存模型 | 线程私有区 | 共享数据区 | 内存回收算法 | 引用计数 | 可达性分析 )

文章目录一、 Java 虚拟机内存模型二、 程序计数器 ( 线程私有区 )三、 虚拟机栈 ( 线程私有区 )四、 本地方法栈 ( 线程私有区 )五、 方法区 ( 共享数据区 )1. 方法区2. 运行时常量池六、 堆区 ( 共享数据区 )七、 内存溢出类型八、 引用计数算法回收内存九、 可达性分析算法回收内存一、 Java 虚拟机内存模型Java 内存优化 , 首当其冲就是处理 Java 内存泄漏....

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

Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(1)

       在Android系统中,不同的应用程序是不能直接读写对方的数据文件的,如果它们想共享数据的话,只能通过Content Provider组件来实现。那么,Content Provider组件又是如何突破应用程序边界权限控制来实现在不同的应用程序之间共享数据的呢?在前面的文章中,我们已经简要介绍过它是通过Binder进程间通信机制以及匿名共享内存机...

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

Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析

 在前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析中,我们系统地介绍了Android系统匿名共享内存的实现原理,其中着重介绍了它是如何辅助内存管理系统来有效地管理内存的,在再前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划中,我们还提到,A...

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

Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(5)

 Step 22. SQLiteCursorDriver.query       这个函数定义在frameworks/base/core/java/android/database/sqlite/SQLiteDirectCursorDriver.java文件中: public class SQLiteDirectCur...

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

Android应用程序组件Content Provider的共享数据更新通知机制分析(1)

 在Android系统中,应用程序组件Content Provider为不同的应用程序实现数据共享提供了基础设施,它主要通过Binder进程间通信机制和匿名共享内存机制来实现的。关于数据共享的另一个话题便是数据更新通知机制了,即如果一个应用程序对共享数据做了修改,它应该如何通知其它正在使用这些共享数据的应用程序呢?本文将分析Content Provider的共享数据更新通知机制,为读者解...

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

Android应用程序组件Content Provider的共享数据更新通知机制分析(3)

     3. 数据更新通知的发送过程        在前面这篇文章Android应用程序组件Content Provider应用实例介绍的应用程序Acticle中,当调用ArticlesAdapter类的insertArticle往ArticlesProvider中增加一个文章信息条目时: public c...

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

Android应用程序与SurfaceFlinger服务之间的共享UI元数据(SharedClient)的创建过程分析

 在前面一篇文章中,我们分析了Android应用程序与SurfaceFlinger服务的连接过程。Android应用程序成功连接上SurfaceFlinger服务之后,还需要一块匿名共享内存来和SurfaceFlinger服务共享它的UI元数据,以便使得SurfaceFlinger服务可以正确地为它创建以及渲染Surface。在本文中,我们将详细地分析这块用来保存UI元数据的匿名共享内存...

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

Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(2)

 Step 7. ContentProviderProxy.query       这个函数定义在frameworks/base/core/java/android/content/ContentProviderNative.java文件中: final class ContentProviderProxy ...

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

Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(3)

  Step 11. CursorWindow.writeToParcel       这个函数定义在frameworks/base/core/java/android/database/CursorWindow.java文件中: public class CursorWindow extends ...

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

Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(4)

  Step 16. CursorWindow.native_init       这个函数定义在frameworks/base/core/jni/android_database_CursorWindow.cpp文件中,对应的函数为native_init_memory函数: static JNINativeMethod&nbs...

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

产品推荐

mPaaS 移动开发平台

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

+关注