簡體   English   中英

Android traceview無法正常工作或僅記錄900毫秒?

[英]Android traceview not working or only logs 900 ms?

在我的默認視圖中,我有:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Debug.startMethodTracing(Environment.getExternalStorageDirectory()+"/PosLogistics.trace", 1000000000);

在這里停下來:

protected void onStop()
    {
        super.onStop();
        Debug.stopMethodTracing();
    }

android目標是2.2。 在Motorolla 2.3上運行時,我可以追蹤900毫秒。 在Samsung Galaxy(4.0)和Sony Xperia(4.0)上運行時,應用程序會在啟動時立即關閉。 logcat的最后一個條目是

02-15 05:25:19.940:I / dalvikvm(8740):TRACE STARTED:'/ mnt / sdcard /PosLogistics.trace'976562KB

根據這個帖子: Traceview最大記錄時間? 跟蹤受設備RAM的限制。 可能會解釋Motorolla 900 ms,但是Galaxy和Xperia有什么問題?

您正嘗試為跟蹤緩沖區分配1000000000字節 ~1GB。 我認為任何系統都不允許你這樣做。 它用於內存緩沖區大小,而不是磁盤。

請參見vm / Profile.cpp第383行。

state->buf = (u1*) malloc(bufferSize);

跳過給出緩沖區大小。 這將默認為8MB,應該足以滿足您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM