设置静置情况下getCurrentCalls方法为何一直打印?
背景:由于设备不支持eSIM,radio log中频繁打印 getCurrentCalls,导致在测试功耗的时候,Phone进程一直在运行。
代码:Android 14源码
首先从打log的地方进行追踪,getCurrentCalls方法中
/frameworks/opt/telephony/src/java/com/android/internal/telephony/RIL.java
@Override
1583 public void getCurrentCalls(Message result) {
1584 RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class, result);
1585 if (!voiceProxy.isEmpty()) {
1586 RILRequest rr = obtainRequest(RIL_REQUEST_GET_CURRENT_CALLS, result,
1587 mRILDefaultWorkSource);
1588
1589 if (RILJ_LOGD) {
1590 riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest));
1591 }
1592
1593 try {
1594 voiceProxy.getCurrentCalls(rr.mSerial);
1595 } catch (RemoteException | RuntimeException e) {
1596 handleRadioProxyExceptionForRR(HAL_SERVICE_VOICE, "getCurrentCalls", e);
1597 }
1598 }
1599 }
先看看这个方法在什么地方有调用,然后用排除法进行追踪此方法被谁调用,搜索全局发现CallTracker.java和GsmCdmaCallTracker.java都有调用mCi.getCurrentCalls,现在一个一个来看
1.
frameworks/opt/telephony/
原文地址:https://blog.csdn.net/qq_34966875/article/details/141689530
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!