2012-02-08 84 views
3

我正在使用Sencha Touch 1.1以及PhoneGap在iPad上部署代碼。在儀器中,內存使用量顯示爲大約140MB(虛擬內存),然後在某些地方上升到高於200 MB,並且由於我正在修復大型列表以減少DOM佔用空間,因此我的應用程序有時會死亡。我嘗試從Safari中測試sencha touch應用程序,並且內存沒有增長到這些限制,Safari在開始時大約爲160MB,並且達到了200 MB以上,但大部分時間都停留在170-180MB範圍內。減少phonegap,sencha觸摸在iOS(iPad)上的內存佔用

我的下一個測試是找出PhoneGap框架的影響。示例Hello World應用程序在安裝phonegap並嘗試使用時似乎已使用大約100 MB(虛擬內存)。我試圖在網上搜索,以確定如何減少這種足跡,但沒有找到任何東西。

我的問題是以下 - 我可以做些什麼來減少手機的佔用空間,它甚至可以幫助減少應用程序的崩潰?我發現其他應用程序(如Flipboard)使用的內存很少(60-70 MB),並且試圖瞭解爲什麼PhoneGap應用程序的基本佔用空間爲100 MB以上,而此Phonegap +基於Sencha-touch的應用程序則在150 - 200 MB範圍。

阿南德

回答

1

你應該看看刪除插件您的PhoneGap應用程序負載的數量。這可以由xml文件(Android,BB)或plist(iOS)控制。例如,如果你不使用聯繫人,那麼不要加載該插件等。

+0

已經在PG plist中已經刪除了XML文件中的大部分內容。這仍然沒有幫助,因爲內存後這一切都在100 MB。測試非常簡單,只需在XCode中啓動一個默認的PG項目,從plist中移除東西,然後運行並使用樂器。如果這是正常或預期的行爲,那麼可以,但希望PG使用更少。 – Anand 2012-02-09 03:56:18

0

你說你在Safari上的應用程序大約是160MB,所以我認爲這不是(至少)只是phonegap。所以儘量改善你的sencha觸摸應用程序。可能你不會銷燬你不使用的容器或類似的東西。看看這個視頻的詳細信息:https://vimeo.com/17882927

+1

是的,我一直在Sencha觸摸面上修理了很多東西,但是我看到的是,當我登錄我的應用程序時,這意味着sencha touch已加載,我的應用程序代碼已加載,而最小的DOM只有一個登錄屏幕,它已經在135-140 MB。更大的貢獻是手機差距和它的基礎設施在100 MB,因此希望看到這是否可以減少。 – Anand 2012-02-09 03:49:33

+0

我已經完成了像使用通用事件處理程序銷燬不需要的項目,並且內存已經改進,同時也使用UxBufferedList來幫助減少內存,但仍有一些需要在UI中修復的令人討厭的副作用。所以現在內存更受控制但仍然非常高。 – Anand 2012-02-09 03:52:22

+0

你也可以嘗試縮小你的JS文件。你有沒有嘗試新的Sencha Touch本機包裝? – ilija139 2012-02-09 07:18:39

0

只是把關閉,轉移到煎茶2.0,並使用PhoneGap的2.0的內存使用量仍處於150〜200 MB的範圍內,但現在的應用程序,我沒有看到所有的用法崩潰。我見過像Flipboard這樣的應用程序消耗350 MB並仍然可以工作,所以現在這不是問題。

基本的Safari瀏覽器手機瀏覽器佔用的內存在100〜150 +的範圍內,所以我不能指望它的使用率會下降很多。