java中isolate时间_flutter/dart里面,一个isolate一般heap多大?
居然是阿腫的提問!這個問題我好好回答一下!
先確認一點,Dart 里邊 Isolate 的堆內存獨立,這一點基本應該都清楚。但創建一個 Isolate 具體內存是多少,這個問題實際上是模糊不清的。
首先對于 Dart VM 而言,內存上限是可以調整的,就像 Java 的那些虛擬機參數一樣。在沒有調整的情況下,不同的操作系統架構也有所不同。
其次 Dart 的 GC 是分代設計,新生代(New generation)和老年代(Old generation)的內存限制彼此獨立。
還有就是堆內存大小是指的初始堆大小還是內存上限的大小呢?
把很多概念理清楚了再來深究,這樣會比較好。好了,開始解答。
關于創建一個 Isolate 默認會占用多少堆內存,這暫且沒有意義,它是動態的,并且隨時可能調整。沒有人會把 Isolate 用于并發編程。
然后是關于回收時的暫停時間,這本就不是個量化的數值。Dart 的 GC 對臨時對象的回收是非??斓摹:螢榕R時對象?在 Flutter 的 Widget 樹里邊一大堆,一個頁面成千上萬都不奇怪。
因為 Isolate 內存隔離的特性,它們擁有各自的內存管理器,回收過程也是彼此獨立的。所以新的 Isolate 里邊回收了內存,是不會造成你 root Isolate 的暫停的。
關于內存的調試,可以參考使用 Allocation Profile。它能明細的列出大量內存細節,可以讓你手動觸發 GC,看到過程并對比前后結果。
總結
以上是生活随笔為你收集整理的java中isolate时间_flutter/dart里面,一个isolate一般heap多大?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《龙珠超》里面那巴还有机会复活吗?去给贝
- 下一篇: 华为智慧屏SE65挂壁孔在哪