Android 5.0上对webview内核进行trace分析

Android4.4之后Google利用Chromium内核代替了WebKit内核,因此可以利用chromium的一些机制进行分析调试,这里通过chromium的trace机制跟踪调试webview内核。

这里以Android5.0代码为例,在ContentViewCore里面添加少量代码,从而对webview应用都能进行trace(4.4上类似,貌似是IntentFilterHandler类)。

导入文件名:import org.chromium.content.browser.TracingControllerAndroid;

在ContentViewCore类中添加如下变量定义:

TracingControllerAndroid mTracingController = null;

在ContentViewCore构造函数中添加如下代码:

mTracingController = new mTracingController(mContext);

mTracingController.registerReceiver(mContext);


将编译生成的webview.apk代替系统的webview.apk,打开webview应用后即可利用如下命令开启和结束采样:

开启:adb shell am broadcast -a XXX.GPU_PROFILER_START -e YYY

停止:adb shell am broadcast -a XXX.GPU_PROFILER_STOP

其中XXX代表对应的webview应用包名(如浏览器为com.android.browser),YYY代表需要保存的采样数据的文件名(如/sdcard/Download/trace.txt)。


将采样后的数据文件pull到本地,再在PC版chrome浏览器中利用chrome://tracing导入数据文件即可进行分析(a/x/d/f按键分别代表左移、缩小、放大、右移视图)。


trace详细信息参见http://www.chromium.org/developers/how-tos/trace-event-profiling-tool/trace-event-reading。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值