我們正在開發帶有角度js的單頁web應用程序。我們的問題是當我們瀏覽不同的URL時,越來越多的java腳本被添加到瀏覽器內存中,因此使應用程序逐漸變慢。是否有任何方法在應用程序的規模增加時提高此類單頁應用程序的性能?單頁應用程序性能問題
1
A
回答
0
您應該包括所有的JavaScript文件合併成一個文件,以減少網絡I/O。有工具可以做到這一點,只是谷歌「JavaScript concat」。
你可以再走一步,縮小/醜化你的JavaScript。
將您的JavaScript文件添加到主要的index.html文件。您不應該在您的意見中重新加載它。
如果您仍然遇到性能問題,那麼手頭上存在更大的問題。
0
檢查內存泄漏:
- 刪除$ rootScope聽衆,$超時,$區間,對指令或控制器摧毀$手錶。
- 刪除指令destroy上的事件偵聽器。
如果真的很慢,請嘗試使用較少的手錶,使用一次性綁定,使用ng-repeat進行追蹤。但是,如果你有內存問題,你將不得不跟蹤增加它的內容。
如果你想輕鬆的性能提升,不要忘了在你的應用程序配置添加此,當你在生產去:
$compileProvider.debugInfoEnabled(false);
1
最好的辦法是,只有當你需要的是加載您的js文件。延遲加載是該方法。最初只加載主js文件和,然後再轉到另一個url
,lazy load
所需的js文件。
oc.lazyLoad
是您的問題的一個很好的解決方案。
下載oc.lazyLoad
並注入是依賴於你的應用程式,例如
var myApp = angular.module("MyApp", ["oc.lazyLoad"]);
,你有一個名爲testModule.js
一個js文件,你知道哪裏是使用該文件。所以前轉到該URL,加載JS文件一樣
myApp.controller("MyCtrl", function($ocLazyLoad) {
$ocLazyLoad.load('testModule.js');
});
更加清晰和信息Read here
相關問題
- 1. 應用程序性能問題:SqlServer&Oracle
- 2. javafx應用程序的性能問題
- 3. SVG中的Web應用程序,性能問題和可行性
- 4. 可能的Web應用程序數據庫性能問題
- 5. Android性能問題:許多小應用程序或一個大應用程序?
- 6. Android的MapView導航應用程序的性能問題 - 應用程序
- 7. HttpWebRequest.GetResponse在多線程應用程序中的性能問題
- 8. 完整性問題持續應用程序應用程序
- 9. Sharepoint 2010應用程序頁面問題
- 10. iPhone應用程序兼容性問題
- 11. 應用性能問題Asp.net
- 12. 從Python應用程序中使用Tesseract OCR的性能問題
- 13. Enterprise Web應用程序中JSP頁面加載的性能問題
- 14. 單頁應用程序(ARIA等)的可訪問性
- 15. WPF應用程序,NotifyIcon問題(表單)
- 16. GAE簡單的應用程序問題
- 17. Windows 2003上的.NET應用程序性能問題
- 18. 多核應用程序中的性能增益問題
- 19. Web應用程序的性能問題Anjular js
- 20. SQL Server應用程序角色,性能問題
- 21. Flash中存在大圖像性能問題(AIR應用程序)
- 22. Ionic 2的性能問題應用程序
- 23. 如何找到在C#應用程序性能問題
- 24. 遊戲應用程序中的性能問題
- 25. 從ASP.Net運行SQL腳本C#應用程序性能問題
- 26. 移動web應用程序性能問題
- 27. POI和FileOutputPutStream的Swing應用程序性能問題
- 28. ASP。 NET C#的Web應用程序性能問題
- 29. 黑莓應用程序中的圖像的性能問題
- 30. Java應用程序性能問題在手
嘗試使用Angular的ui路由器進行路由。 –
你可以捆綁JavaScript。它實際上每次都會減少http調用。請參閱[鏈接](http://stackoverflow.com/questions/12804955/what-is-the-benefit-of-asp-net-bundling-and-minification-in-runtime) – tamil