Luzofan wrote:
以小弟自己的Dopod 818試驗, 先開啟記事, Activesync, Beta Player播MTV, Mediaplayer 10播放MP3
再開啟Papago V9進入導航, 記事自動關閉
開啟Acrobat reader 2.0, Betaplayer自動關閉
開啟遠流字典通專業版, Activesync自動關閉
開啟1-Calc, Mediaplayer自動關閉
你有外掛插件程式吧? 而且通常那種程式都要錢.
這裡是在討論CE對記憶體的管理,不是靠著你外掛的程式就說CE的記憶體管理是很聰明的.
在沒有掛插件或外掛的情況下,WinCE/PPC是不會把開釋放掉的空間放出來的.
何況事情就如我所敘,HIBERNATE在執行前會去check一下Program Memory剩餘的數量,如果不少到某個標準的話是不會有動作的,自己試試看就知道囉!
WM2003SE_PE(WinCE.NET)有32個process slot的限制. 當系統開完機後有可能已吃掉20幾個, 視系統出廠的設定及USER安裝的常駐程式多寡而定. 如果您開的AP又必須用到更多slot(一支AP可能用數個slot), 系統就必須kill背景的process來fit這支AP. 常有USER反應有時藍芽突然不能用, today裡的某些plug-in不正常, 或是輸入法無法載入, 毛病多半是這樣蹦出來的. 所以要讓系統更穩定, 那些花花綠綠的常駐程式越少用越不容易出怪病. 小弟目前用在818的組態也是經過一番測試, 剔除一些較有怪癖的plug-in及常駐程式等, 才容易讓上述的流程走得順.
但是這與Hibernate的相關性不大. 早在需要擠slot前系統可能已經發過Hibernate了, 無法執行的原因通常不是真的RAM不夠, 而是某些DLL無法載入. 當然手動執行Hibernate有好沒壞, USER看得到帳面上的RAM突然跑了出來. 但不一定必要, 因為不見得能排除OS碰到的問題.
您如果對這方面的細節有興趣, 可以參考一下PPCW的這篇文章, 以及MSDN的這篇介紹.
早買早享受 晚買晚後悔 不買不高興
雖然說是請程式讓出資源,不過這在PPC上卻不容易達成。
(我自己是有寫釋放記憶體的工具,不過在PPC上卻無法實現)
因為有些API並無法支援CE :(
不過越寫PPC的程式就越覺得好玩
Luzofan wrote:
但是這與Hibernate的相關性不大. 早在需要擠slot前系統可能已經發過Hibernate了, 無法執行的原因通常不是真的RAM不夠, 而是某些DLL無法載入. 當然手動執行Hibernate有好沒壞, USER看得到帳面上的RAM突然跑了出來. 但不一定必要, 因為不見得能排除OS碰到的問題.
說了這麼多偏離主題的東西.
能不能請您解說一下要怎麼樣實際的操作才能點了Hibernate後會有反應,這才是重點,
說了一堆很專業的東西無助於這個問題解決吧??
以我實際100%絕對會成功的經驗就是把Program記憶體調小一點,其他您說的什麼DLL無法載入,似乎沒什麼意義?不然每次要釋放的時候還要去調記憶體比例真麻煩.
另外請您不要建議如OS會自己釋放,那乾脆PDA都不要用好了,記憶體根本不會少.
以小弟自己的Dopod 818試驗, 先開啟記事, Activesync, Beta Player播MTV, Mediaplayer 10播放MP3
再開啟Papago V9進入導航, 記事自動關閉
開啟Acrobat reader 2.0, Betaplayer自動關閉
開啟遠流字典通專業版, Activesync自動關閉
開啟1-Calc, Mediaplayer自動關閉
以我數十台PPC的使用經驗,如以上的操作結果就是記憶體會越來越少,然後全部的程式開啟沒有關閉,難道818比較厲害?
內文搜尋
X




























































































