• 2

[方法] 解決Desire Z 2.3.3桌面時常重新啟動的問題(需S-OFF)

Desire Z更新到2.3.3之後, 每個人都一定會遇到的問題就是rosie(Sense的桌面軟體)會經常性的發生重新載入的問題。在Market裡安裝程式, 不管裝幾個, 回到桌面就重新載入; 瀏覽網頁分量稍重, 回到桌面就重新載入; 使用體積略大的軟體(10MB左右), 回到桌面就重新載入...諸多不及備載!

到了最近我終於受不了了...

經過大量閱覽跟測試後終於發現這個問題只有在Virtuous Sense 2.0上沒有出現, 在其他國家的官方2.3.3都一樣有這個問題。Virtuous Sense 2.0是基於官方2.42.405.2所製作的, 基本上只有做效能優化。試了一陣子發現關鍵果然在記憶體管理上。Desire Z本身記憶體就比較少, 如果在相同的Sense環境下又使用跟有768MB RAM的機種一樣的記憶體管理設定, 結果就是現在這種情形。

我參考了Virtuous Sense 2.0裡對記憶體進行優化的參數, 重新修改官方2.3.3的boot.img裡的參數。在全新安裝的官方2.42.709.10的情況下, 再刷入修改後的boot.img, 得到了相同的結果。可用記憶體增加, rosie不再發生重啟動的問題。在安裝了Google+、Viber、Whatsapp這些會常駐的軟體後, 可用記憶體在系統內建的界面下, 一般情況都在170MB(剛開機時)~210MB(待機時)徘徊。當然一般記憶體觀察的軟體顯示的會比內建的少, 不過我不是很在意數字就算了, 反正實際用起來如何最重要。

系統服務項目(執行中的服務)
[方法] 解決Desire Z 2.3.3桌面時常重新啟動的問題(需S-OFF) [方法] 解決Desire Z 2.3.3桌面時常重新啟動的問題(需S-OFF)
背景程序項目(快取處理程序)
[方法] 解決Desire Z 2.3.3桌面時常重新啟動的問題(需S-OFF) [方法] 解決Desire Z 2.3.3桌面時常重新啟動的問題(需S-OFF) [方法] 解決Desire Z 2.3.3桌面時常重新啟動的問題(需S-OFF)

1. 請慎重考慮刷機的風險, 刷壞不要來找我!
2. boot.img僅修改記憶體參數的部份, 不放心請不要刷!
3. 這是針對官方2.3.3的boot.img
4. 需要S-OFF


刷入這個修改的boot.img的方法:
0. 請先備份!!
1. 下載檔案, 在文末更新中, 請自行選擇。
2. 將檔案放到SD卡中的根目錄中, 請勿變更檔名(PC10IMG.zip), 關機(要先關閉快速開機)
3. 按住"音量下鍵 + 電源鍵"直到開機
4. 稍待一會就會自動偵到要刷入的檔案並詢問是否要刷入, 按音量上鍵確認刷入
5. 等到螢幕上顯示ok, 按電源鍵重新開機就完成了
6. 記得將記憶卡中的PC10IMG.zip刪除

[2012/02/21更新]
Virtuous Sense版、榨乾記憶體版都會有不可預期的當機情形發生, 所以就不再提供。也因為multiupload.com似乎不能用了, 所以這邊重新放上dropbox的載點。

<Apa版>
另外增加一版我目前使用的版本, 搭配修改dalvik.vm.heapsize, 效果也很好。
dalvik.vm.heapsize需要另外修改, 方法如下:
1. 利用root explorer(或類似軟體)在/system裡找到build.prop。
2. 修改/system為可讀寫(r/w)並開啟build.prop。
3. 在開啟的build.prop中找到
dalvik.vm.heapsize=32m
將32m修改成64m, 如下
dalvik.vm.heapsize=64m
存檔離開。
4. 修改/system為唯讀(r/o)後, 重新開機就完成。

檔案下載
只鎖住桌面在記憶體中 (僅修改setprop ro.HOME_APP_ADJ 1)
MD5: 55967746f370aaaf2231df5b656cae1f
回復原廠 (就是原廠未修改, 回復重啟噩夢用)
MD5: 7f2108d04c5c73ace615f21ae77a21ab
Apa版 (修改記憶體回收設定, Apa版)
MD5: 3dabef1e9282f4f0160056809d941e4f
2011-10-28 6:30 發佈
樓主很有研究精神。

可惜我連root都不會,也沒膽刷。
如果樓主可以將你的發現讓hTC的工程師知道,
讓hTC在下次OTA釋出時修正這個問題,
那就真的幫了所有DZ的使用者。
感謝樓主提供這樣的修改,我實際測試發現系統真的有比較流暢,一開始可用的記憶體可以到170MB左右,比原廠的高了大概50MB左右。

繼續測試,有問題再回報。
[更新]
今天測試大量軟體, 其實就是把我本來在用的軟體安裝並還原後發現, 在一些重量級的遊戲軟體會發生將感應裝置(按鍵, 觸控等等)程序從記憶清除的情況, 發生時軟體會繼續正常運作, 但是按鍵觸控等等都無法使用, 經過一小段時間後系統會強制重新開機。這個情況在測試Virtuous Sense 2.0也有遇過, 當時認為是Kernel有超頻的關係, 所以沒什麼注意。晚上又重新改了一個boot.img, 只修改參數將桌面軟體鎖在記憶體中, 其他記憶體回收設定皆維持官方設定, 到目前為止都還沒發生類似的問題, 只是可用記憶體的數字降到150MB~100MB之間, 使用上沒什麼差異感, 只是數字比較少-.-

如果沒有遇到類似問題的話, 可以繼續使用原本的。如果遇到相同問題, 請改用新的。想回到原廠的, 一併附上2.3.3原廠未修改的boot.img。
- Apa | 問問題前先看過說明書吧...不然Google一下也好?
Virtuous Sense 2.0配置待機測試了4天,發現有自動重啟,再來換新版試看看。
[更新]
雖然解決了桌面容易重啟的問題, 但是在記憶體吃緊的情況下, 在軟體之間切換時很容易造成不便(前一個使用的軟體已被清除, 必須要重新等待啟動)。所以我又做了一點功課, 參考了不少神人們對於記憶體回收機制的設定與見解。

一般來說, 大家往往都想空出更多的記憶體, 但是我卻想用盡每一分的記憶體, 我實在不能理解為什麼要刻意擠出很多空閒的記憶體放在那不使用。很多實際的測試跟體驗都指出空出較多的記憶體會讓手機比較順, 是越多越好嗎? 我的心得是夠用就好, 在系統待機下多出來的那些記憶體, 是拿來給軟體使用的, 不需要強迫自己一直想要讓它空出來, 隨時隨地都要這麼多。看資料時發現有人做過測試, 在記憶體剩下多少時, 會產生多少百分比的延遲感(這當然是與記憶體充足的情況下比較), 而完全不產生延遲感的最低記憶體其實很低。所以我又重新調整了一個記憶體回收機制的設定, 企圖榨乾每一分記憶體。
---
setprop ro.FOREGROUND_APP_ADJ 0
setprop ro.PERCEPTIBLE_APP_ADJ 1
setprop ro.HEAVY_WEIGHT_APP_ADJ 4
setprop ro.SECONDARY_SERVER_ADJ 4
setprop ro.BACKUP_APP_ADJ 4
setprop ro.HOME_APP_ADJ 2
setprop ro.HIDDEN_APP_MIN_ADJ 7
setprop ro.EMPTY_APP_ADJ 15

setprop ro.FOREGROUND_APP_MEM 2048
setprop ro.VISIBLE_APP_MEM 3072
setprop ro.PERCEPTIBLE_APP_MEM 3072
setprop ro.HEAVY_WEIGHT_APP_MEM 6144
setprop ro.SECONDARY_SERVER_MEM 6144
setprop ro.BACKUP_APP_MEM 6144
setprop ro.HOME_APP_MEM 4096
setprop ro.HIDDEN_APP_MEM 7168
setprop ro.EMPTY_APP_MEM 8192

write /sys/module/lowmemorykiller/parameters/minfree 2048,3072,4096,6144,7168,8192
write /sys/module/lowmemorykiller/parameters/minfile 2048,3072,4096,6144,7168,8192
---
使用了兩天, 沒發現什麼問題, 也沒有任何延遲感產生。很奇妙的是, 這樣的配置讓我待機時的可用記憶體增加了一些些(大概10~20MB吧), 但是卻可以在軟體需要記憶體時提供最大的支援。不過這個改變不是太明顯, 但可以感受的到在軟體之間切換時的些許不同。有興趣的人可以試試看!
- Apa | 問問題前先看過說明書吧...不然Google一下也好?
apa1102 大您好...
我的原廠ROM在加了您的修改 + V3 超頻後...
不管是哪一版本的修改(含最近的壓榨版),都很容易自動重開機...
結果我刷回您提供的官方檔案,變成wifi打不開(會顯示錯誤)...
不知道該怎麼辦...@@
後來亂亂裝,結果開不了機了...
只好直接刷成 K 大的 Rom 了,呵,本來只想用原廠rom...@@
[2012/02/21更新]
Virtuous Sense版、榨乾記憶體版都會有不可預期的當機情形發生, 所以就不再提供。也因為multiupload.com似乎不能用了, 所以這邊重新放上dropbox的載點。

<Apa版>
另外增加一版我目前使用的版本, 搭配修改dalvik.vm.heapsize, 效果也很好。
dalvik.vm.heapsize需要另外修改, 方法如下:
1. 利用root explorer(或類似軟體)在/system裡找到build.prop。
2. 修改/system為可讀寫(r/w)並開啟build.prop。
3. 在開啟的build.prop中找到
dalvik.vm.heapsize=32m
將32m修改成64m, 如下
dalvik.vm.heapsize=64m
存檔離開。
4. 修改/system為唯讀(r/o)後, 重新開機就完成。

Apa版 (修改記憶體回收設定, Apa版)
MD5: 3dabef1e9282f4f0160056809d941e4f
- Apa | 問問題前先看過說明書吧...不然Google一下也好?
回報一下目前測試Apa版的狀況

Apa版在長時間使用的情況下,有看到記憶體被占用但是沒有收回來的情況,然後會有程式無預警自己跳掉的情況,不過整體使用上挺流暢的,開機的時間大概110小時。
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?