我正在構建一個 android 應用程式,它將在微控制器上作為獨立應用程式運行。
我必須在我的應用程式中添加一個后臺執行緒來執行一些任務,并且每 20 毫秒無限期地呼叫一次。在運行我的應用程式時,我收到以下警告。
I/ample.app: Background concurrent copying GC freed 3461(211KB) AllocSpace objects, 36(1872KB) LOS objects, 49% free, 2MB/4MB, paused 509us total 104.562ms
I/ample.app: Background concurrent copying GC freed 7921(410KB) AllocSpace objects, 36(1872KB) LOS objects, 49% free, 1933KB/3MB, paused 2.204ms total 109.949ms
I/ample.app: Background concurrent copying GC freed 2823(175KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 2022KB/3MB, paused 1.047ms total 104.209ms
I/ample.app: Background concurrent copying GC freed 2758(176KB) AllocSpace objects, 36(1872KB) LOS objects, 50% free, 1918KB/3MB, paused 550us total 101.114ms
I/ample.app: Background concurrent copying GC freed 2725(177KB) AllocSpace objects, 32(1664KB) LOS objects, 50% free, 1918KB/3MB, paused 503us total 102.727ms
I/ample.app: Background concurrent copying GC freed 2717(161KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 502us total 114.887ms
I/ample.app: Background concurrent copying GC freed 2592(144KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 492us total 101.373ms
I/ample.app: Background concurrent copying GC freed 2724(176KB) AllocSpace objects, 32(1664KB) LOS objects, 50% free, 2022KB/3MB, paused 504us total 106.705ms
I/ample.app: Background concurrent copying GC freed 2880(176KB) AllocSpace objects, 36(1872KB) LOS objects, 50% free, 1918KB/3MB, paused 501us total 101.745ms
I/ample.app: Background concurrent copying GC freed 2599(161KB) AllocSpace objects, 32(1664KB) LOS objects, 50% free, 1918KB/3MB, paused 1.229ms total 107.834ms
I/ample.app: Background concurrent copying GC freed 2855(193KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 503us total 119.165ms
I/ample.app: Background concurrent copying GC freed 2594(160KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 689us total 117.995ms
I/ample.app: Background concurrent copying GC freed 2470(176KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 502us total 107.202ms
I/ample.app: Background concurrent copying GC freed 2744(160KB) AllocSpace objects, 32(1664KB) LOS objects, 50% free, 1918KB/3MB, paused 504us total 114.165ms
I/ample.app: Background concurrent copying GC freed 3100(177KB) AllocSpace objects, 32(1664KB) LOS objects, 50% free, 1918KB/3MB, paused 507us total 106.392ms
I/ample.app: Background concurrent copying GC freed 2722(177KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 501us total 112.687ms
I/ample.app: Background concurrent copying GC freed 2719(177KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 596us total 102.322ms
I/ample.app: Background concurrent copying GC freed 2594(160KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 586us total 112.978ms
I/ample.app: Background concurrent copying GC freed 2842(161KB) AllocSpace objects, 32(1664KB) LOS objects, 49% free, 1918KB/3MB, paused 603us total 110.437ms
D/QueuedWork: waited: [<1: 0, <2: 111, <4: 30, <8: 147, <16: 712, <32: 24, <64: 0, <128: 0, <256: 0, <512: 0, <1024: 0, <2048: 0, <4096: 0, <8192: 0, <16384: 0, >=16384: 0]
可以忽略這些警告嗎?雖然我的應用程式現在運行良好,但我擔心在某些時候這個警告可能會導致我的應用程式崩潰。
任何幫助,將不勝感激。謝謝
uj5u.com熱心網友回復:
Android 確實不是微控制器的正確作業系統。最重要的是,您需要穩定。Android 不會給你這個 - 任何行程都可以隨時被作業系統殺死以獲取資源。如您所見,另一個問題是垃圾收集。這可能隨時發生并阻塞任何或所有執行緒。如果您需要快速回應硬體事件,您不想使用垃圾收集語言——您需要可以保證永遠不會被阻塞的東西。我會重新考慮這種方法。
在普通應用程式中,只要您沒有看到性能問題,我會說您看到的 GC 事件是可以的。但是對于微控制器,您肯定會因此而丟失事件。除非您的記憶體不足,否則您不會從這些中崩潰,但它們可以延遲一切。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/409607.html
標籤:
