產品討論
瀏覽 : 37498
分享

[其他] 覺得htc真的是神調校

一般用戶

等級1

路過旅人

文章分類:HTC One (E8)

joey Li2015-12-7 18:44

已經超過10多天沒重開機,沒想到在使用上還是很順,也沒當機過,真的是神調校阿,大家的HTC也都多久沒重開機了呢?


檢舉 回應

一般用戶

等級5

新秀大大

啪滴2015-12-7 19:13

只要充電就會關機充

倒也不是有什麼理由就是了


品牌大使:8330321
檢舉 回應

一般用戶

等級3

專業鄉民

發哥2015-12-7 19:42

小弟我沒有關機的習慣,有時幾個月都沒關過,但我沒玩遊戲就是

強4登場 HTC論壇四週年‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★*
檢舉 回應

一般用戶

等級5

新秀大大

shiyuliou19972015-12-7 20:16

其實會卡卡、會當當,不外乎主要兩個原因
第一,RAM佔用太多,也就是程式用完沒有真正結束掉,就還是繼續占RAM,常見的就是Memory Leak
何謂Memory Leak(記憶體洩漏)

何謂Memory Leak?

我們常常會聽到程式開發人員嘴邊老喊著︰記憶體不足。
會發生這個問題,其中可能包含Memory Leak。


維基百科對Memory Leak(記憶體洩漏)做了以下的解釋︰

電腦科學中,內部記憶體泄漏指由於疏忽或錯誤造成程式未能釋放已經不再使用的內部記憶體的情況。
內部記憶體泄漏並非指內部記憶體在物理上的消失,而是應用程式分配某段內部記憶體後,由於設計錯誤,導致在釋放該段內部記憶體之前就失去了對該段內部記憶體的控制,從而造成了內部記憶體的浪費。
Android官方布落格提到︰

A "memory leak" in your code is when you keep a reference to an object that is no longer needed. Sometimes a single reference can prevent a large set of objects from being garbage collected.


以下文章引用自女工程師的美加生活手札的部落格,
裡面提到︰
在電腦世界裡,有一個performance的隱性敵人,它會造成記憶體的使用量隨著時間慢慢增加直到消耗殆盡,這個敵人俗稱Memory Leak (中文翻成記憶體漏洩)。

Memory Leak造成的原因是某個被配置(allocated)的記憶體無法在被參照(referenced),也無法被釋放(released);那塊被配置的 記憶體就有如記憶體孤兒般,無法被系統再使用,所以要看一個程式有否Memory Leak,很簡單的方法就是去看作業系統(For standalone application)或是Application Server(如果是Web Application)的實體記憶體使用圖,如果隨著時間增加,記憶體的使用量呈現明顯增加的趨勢,這個程式就極有可能有潛在的Memory Leak問題。

Memory Leak在C/C++語言中是很常見的人為過失,因為C/C++並沒有自動Garbage Collector (垃圾收集器)的機制,程式設計師必需在使用完資源後,人為釋放資源。雖然在Java、C#有自動Garbage Collector的機制,Memory Leak的機會大幅下降,但仍然不能完全倖免,只要程式設計師不小心仍然會造成Memory Leak。

有些人以為Java有Garbage Collector(GC)就不會有Memory Leak,其實是錯的。如果一個物件仍然有被參照,Garbage Collector是不會回收該物件的。

比如以下狀況:
假設你有一個Java程式,裡面你運用了一個宣告為static 的Array A來儲存已經開啟的視窗-JFrame instance。如果使用者開啟了一個視窗W1,W1會被存入Array A中,而當W1關閉後,你沒有把W1從Array A裡移除,這時,雖然W1已被指到null,Garbage Collector卻不會回收W1。

原因很簡單,因為Array A仍保有W1的參照,GC假設W1之後有被使用的機會,所以沒有回收W1。如果這個程式持續開關大量視窗,它所用的記憶體也會呈現增加的趨勢,而造成了典 型的Memory Leak狀況。
解決的方式很簡單,只要在W1被關閉時同時把W1從Array A裡移除即可。

相關文章︰
1.Romain Guy在Android官方討論裡提到的Memory Leak
2.Memory Leak經驗分享-Drawable篇
3.使用MAT(記憶體分析)工具查看Memory Leak
4.Android官方布落格2011/03/24
5.Android官方文件
【資料來源:小鰻的Android學習筆記: 何謂Memory Leak(記憶體洩漏)

第二,就是cache太多了,然後太久沒有做清除的動作,導致程式在運行時,產生不順的情形。

第三,就是手機本身RAM不足,造成使用上面不順暢,基本上這種問題是不論重啟幾次都沒什麼效果的


檢舉 回應

一般用戶

等級5

新秀大大

shiyuliou19972015-12-7 20:17

啪滴 發表於 2015-12-7 19:13
只要充電就會關機充

倒也不是有什麼理由就是了

關機充電,時間更短,效率更高,也是不錯的選擇哦!

檢舉 回應

一般用戶

等級7

神人

davidchen2015-12-7 21:00

大概一周關機個2次吧~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

檢舉 回應

一般用戶

等級7

神人

belleuve2015-12-7 21:19

shiyuliou1997 發表於 2015-12-7 20:16
其實會卡卡、會當當,不外乎主要兩個原因第一,RAM佔用太多,也就是程式用完沒有真正結束掉,就還是繼續占R ...

這篇好專業,先收藏囉,給你拍拍手~

我的品牌大使代碼:8221204,歡迎多利用!
檢舉 回應

一般用戶

等級5

新秀大大

shiyuliou19972015-12-7 21:54

belleuve 發表於 2015-12-7 21:19
這篇好專業,先收藏囉,給你拍拍手~

謝謝,這個沒有好專業,是一些些的個人研究與經驗談啦!

檢舉 回應

一般用戶

等級6

資深大大

Vector Tsai2015-12-7 23:28

我是偶爾重開機啦
沒遇到什麼大問題......

檢舉 回應

一般用戶

等級5

新秀大大

天生龜毛人2015-12-8 05:44

我也是偶爾重開機,大概兩周一次吧。
充電時我是常常關閉行動網路才充,先請問各位的M9入手後幾個月了?
目前常態下的可用RAM大概是多少呢?
我是用了8個多月,目前常用RAM約700~800MB左右

come some of 謬日咖~
檢舉 回應

分享