feat:use global anchor hook to print log
This commit is contained in:
@@ -52,12 +52,7 @@ public class DoricDev {
|
||||
private DoricDev() {
|
||||
this.isRunningInEmulator = SimulatorUtil.isSimulator(Doric.application());
|
||||
DoricNativeDriver.getInstance().getRegistry().registerMonitor(new DoricDevMonitor());
|
||||
DoricNativeDriver.getInstance().getRegistry().setGlobalPerformanceAnchorHook(new DoricPerformanceProfile.AnchorHook() {
|
||||
@Override
|
||||
public void onAnchor(String name, long prepare, long start, long end) {
|
||||
|
||||
}
|
||||
});
|
||||
DoricNativeDriver.getInstance().getRegistry().setGlobalPerformanceAnchorHook(new DoricDevPerformanceAnchorHook());
|
||||
}
|
||||
|
||||
public static DoricDev getInstance() {
|
||||
|
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package pub.doric.devkit;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import pub.doric.performance.DoricPerformanceProfile;
|
||||
|
||||
/**
|
||||
@@ -22,9 +24,17 @@ import pub.doric.performance.DoricPerformanceProfile;
|
||||
* @Author: pengfei.zhou
|
||||
* @CreateDate: 2021/7/20
|
||||
*/
|
||||
public class DoricDevPerformanceAnchorHook implements DoricPerformanceProfile.AnchorHook {
|
||||
public class DoricDevPerformanceAnchorHook implements DoricPerformanceProfile.GlobalAnchorHook {
|
||||
private static final String TAG = "DoricPerformance";
|
||||
|
||||
@Override
|
||||
public void onAnchor(DoricPerformanceProfile profile, String name, long prepare, long start, long end) {
|
||||
Log.d(TAG, String.format("%s: %s prepared %dms, cost %dms.",
|
||||
profile.getName(), name, start - prepare, end - start));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnchor(String name, long prepare, long start, long end) {
|
||||
|
||||
//DO nothing
|
||||
}
|
||||
}
|
||||
|
@@ -78,24 +78,24 @@ public class DoricDevPerfActivity extends DoricDevBaseActivity {
|
||||
private List<AnchorNode> anchorNodes = new ArrayList<>();
|
||||
|
||||
private MyAdapter() {
|
||||
Map<String, Long> anchorMap = doricContext.getPerformanceProfile().getAnchorMap();
|
||||
for (String key : anchorMap.keySet()) {
|
||||
if (key.endsWith("#prepare")) {
|
||||
Long prepare = anchorMap.get(key);
|
||||
if (prepare != null) {
|
||||
AnchorNode anchorNode = new AnchorNode();
|
||||
anchorNode.name = key.substring(0, key.lastIndexOf("#prepare"));
|
||||
anchorNode.prepare = prepare;
|
||||
anchorNodes.add(anchorNode);
|
||||
}
|
||||
}
|
||||
}
|
||||
Collections.sort(anchorNodes, new Comparator<AnchorNode>() {
|
||||
@Override
|
||||
public int compare(AnchorNode o1, AnchorNode o2) {
|
||||
return (int) (o1.prepare - o2.prepare);
|
||||
}
|
||||
});
|
||||
// Map<String, Long> anchorMap = doricContext.getPerformanceProfile().getAnchorMap();
|
||||
// for (String key : anchorMap.keySet()) {
|
||||
// if (key.endsWith("#prepare")) {
|
||||
// Long prepare = anchorMap.get(key);
|
||||
// if (prepare != null) {
|
||||
// AnchorNode anchorNode = new AnchorNode();
|
||||
// anchorNode.name = key.substring(0, key.lastIndexOf("#prepare"));
|
||||
// anchorNode.prepare = prepare;
|
||||
// anchorNodes.add(anchorNode);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// Collections.sort(anchorNodes, new Comparator<AnchorNode>() {
|
||||
// @Override
|
||||
// public int compare(AnchorNode o1, AnchorNode o2) {
|
||||
// return (int) (o1.prepare - o2.prepare);
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user