Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。
透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?
總之,就當作的隨手雜記文吧!
本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP20。
好了,看完 EP19 的介紹後,這不是很順利的能播放影片嗎?
是在無病呻吟什麼?
對,能用。
但不夠好。
Samples 裡面有 2 個專案都能播放影片:
在這邊透過稍微改寫一下 GstreamerPlayer 的程式,達到不斷的重複播放同一個影片檔案測試效果。
另外,用 Jetbrain dotMemory 類似的記憶體監測工具:
(擷取自 Jetbrain dotMemory 啟動的 Splash 畫面)
監測執行該 GstreamerPlayer 的程式,很快地就會看到問題之所在。
放著監測 5 分鐘的執行:
放著監測 30 多分鐘的執行:
測試結果看來,執行的整體記憶體使用趨勢是相當明顯向上攀升的。
而如果是 UI 程式的記憶體有被占用無法被釋放完全並回收,雖到最差的情況也是允許重開 UI 程式,只要重開 UI 程式的過程銜接的好,通常使用的時候不太會有感覺。
但重開 UI 程式算是最後的手段了。
所以...
記憶體使用上升的速率能越趨緩,以便重開 UI 程式的間隔可以拉的越長。
PS 雖然還有最後大絕是 "重啟" 裝置,也就是俗稱的 重開治百病,但這屬於治標不治本之招就是...