- 4
- 0
- 约3.73万字
- 约 27页
- 2019-10-27 发布于湖北
- 举报
Android WebView加载Chromium动态库的过程分析
Chromium动态库的体积比较大,有27M左右,其中程序段和数据段分别占据25.65M和1.35M。如果按照通常方式加载Chromium动态库,那么当有N个正在运行的App使用WebView时,系统需要为Chromium动态库分配的内存为(25.65 + N x 1.35)M。这是非常可观的。为此,Android使用了特殊的方式加载Chromium动态库。本文接下来就详细分析这种特殊的加载方式。
为什么当有N个正在运行的App使用WebView时,系统需要为Chromium动态库分配的内存为(25.65 + N x 1.35)M呢?这是由于动态库的程序段是只读的,可以在多个进程之间进行共享,但是数据段一般是可读可写的,不能共享。在1.35M的数据段中,有1.28M在Chromium动态库加载完成后就是只读的。这1.28M数据包含有C++虚函数表,以及指针类型的常量等,它们在编译的时候会放在一个称为GNU_RELRO的Section中,如图1所示:
如果我们将该GNU_RELRO Section看作是一般的数据段,那么系统就需要为每一个使用了WebView的App进程都分配一段1.28M大小的内存空间。前面说到,这1.28M数据在Chromium动态库加载完成后就是只读的,那么有没有办法让它像程序段一样,在多个
您可能关注的文档
- AltiumDesigner AD6 AD9制作LOGO终极大招,大小随意放置.doc
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类.docx
- altium_designer集成元件库的创建.ppt
- Android工程各文件夹结构的含义及全代码使用与全解.docx
- Airbridge_使用指南(网优入门)_V12.doc
- Android_Ch05_活动与版面配置.ppt
- android开发--ListView+Json+异步网络图片加载+滚动翻页的例子.doc
- Android期末考试复习.docx
- Android常用控件及使用方法.ppt
- Android视频播放数据读取的流程.doc
原创力文档

文档评论(0)