美文网首页
Android跟踪函数消耗时间

Android跟踪函数消耗时间

作者: hwhjxjs | 来源:发表于2020-04-20 06:45 被阅读0次
public class TimeMonitorManager {
    private static final String TAG = "TimeMonitorManager";

    private HashMap<String, Long> mTimeTagMap = new HashMap<>();
    private long mStartTime = 0;
    private static volatile TimeMonitorManager mMonitorManager;
    
    private TimeMonitorManager() {

    }

    public static TimeMonitorManager getInstance() {
        if (mMonitorManager == null) {
            synchronized (TimeMonitorManager.class) {
                if (mMonitorManager == null) {
                    mMonitorManager = new TimeMonitorManager();
                }
            }
        }
        return mMonitorManager;
    }

    /**
     * 开始监听.
     */
    public void startMonitor() {
        if (mTimeTagMap.size() > 0) {
            mTimeTagMap.clear();
        }

        mStartTime = System.currentTimeMillis();

    }


    /**
     * 结束监听.
     * @param tag 所要打印的tag.
     */
    public void endMonitor(String tag) {
        if (mTimeTagMap.get(tag) != null) {
            mTimeTagMap.remove(tag);
        }

        long time = System.currentTimeMillis() - mStartTime;
        mTimeTagMap.put(tag, time);
        showData();
    }

    private void showData() {
        if (mTimeTagMap.size() <= 0) {
            return;
        }

        for (String tag: mTimeTagMap.keySet()
             ) {
            long time = mTimeTagMap.get(tag);
            Log.d(TAG, tag + ": " + time);
        }
    }

}

用法举例

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TimeMonitorManager.getInstance().startMonitor();
        setContentView(R.layout.activity_main);
        TimeMonitorManager.getInstance().endMonitor(TAG + " onCreate setContentView");
    }

相关文章

  • Android跟踪函数消耗时间

    用法举例

  • Matlab技巧记录

    1. 获取程序的时间消耗 借助这profile这个工具可以查看具体的程序每个函数消耗的时间,从而根据时间消耗来对程...

  • DFS-栈

    递归需要消耗额外的资源,这些资源是:1.递归由于是函数调用自身,而函数调用是有时间和空间的消耗的:每一次函数调用,...

  • js 调试

    打断点,跟踪函数调用

  • Linux内核分析第六周作业

    实验截图 设置断点。 跟踪到copy_process函数。 跟踪到ret_from_fork()。 跟踪ret_f...

  • 开发调试工具

    1、跟踪工具ltrace 跟踪进程调用库函数的情况strace 跟踪进程的系统调用情况和信号产生情况 ...

  • Android 技术与工具链接集

    官方 https://www.android.com/ Android行业技术发展跟踪 http://androi...

  • Flutter上的back返回处理

    Android上的back键 跟踪Android端back调用链FlutterActivity->eventDel...

  • python 装饰器常见用法

    跟踪调用 用例: 计时调用 用例: 单例 用例: 跟踪对象接口 用例: 管理函数和类 用例: 验证函数参数 用例:...

  • .NET 内存模型-----堆栈与托管堆

    堆栈(STACK):跟踪正在执行的代码(调用的函数) 托管堆(HEAP):跟踪我们的对象object/data. ...

网友评论

      本文标题:Android跟踪函数消耗时间

      本文链接:https://www.haomeiwen.com/subject/ijyhihtx.html