Prerequisites
Feature Configuration
Enabling Monitoring
Initialization requires enabling lag monitoring. Lag doesn't need instrumentation, while frame loss rate requires additional instrumentation. It is recommended to add tracking on scrolling lists, such as (ListView, GridView, and RecyclerView).
Frame Loss Rate Instrumentation
Call QAPM.beginScene("xxx scrolling", QAPM.ModeDropFrame) before each scroll.
Call QAPM.endScene("xxx scrolling", QAPM.ModeDropFrame) after a scroll ends.
This can generally be achieved by overriding the scrolling component's onScrollStateChanged method, as shown below:
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
QAPM.endScene("xxx scrolling", QAPM.ModeDropFrame);
} else {
QAPM.beginScene("xxx scrolling", QAPM.ModeDropFrame);
}
Verifying Whether the Feature Is Working Properly
Retrieval tag:QAPM_dropframe_DropFrameMonitor
After a scroll ends (endScene calling), the following log message indicates that the frame loss rate data has been stored in the local database:
Retrieval tag: [plugin::101]
The following log message indicates successful reporting of frame loss data that is stored in the app's local database.
Retrieval tag: QAPM_looper_LooperPrinter
The following log message indicates that Lag Monitoring is functioning properly:
The following log message indicates that Lag Reporting is functioning properly:
Was this page helpful?