簡體   English   中英

如何提高iOS應用程序的性能?

[英]How to improve performance of application in iOS?

我已經開發了適用於iPhone-3GS,iPhone-4,iPhone-4S的應用程序。

對於啟動過程, 在iPhone-4s上花費30秒在iPhone-3gs上花費50-55秒 在相同的網絡上進行了測試。(這與網絡或互聯網無關; 在模擬器中僅花費了5秒鍾。

在此啟動過程中,App執行多項操作,例如從數據庫中刪除舊數據,調用WebService以及將響應數據插入數據庫中。 應用程序使用performSelectorOnMainThread方法(依次)在主線程上調用將近8個Web服務

我正在使用SQLite和編譯查詢結構進行插入。 我想提高應用程序的性能,並希望減少應用程序的啟動時間。

Android團隊使用相同的后端,並且他們也在做相同的事情。 僅在Galaxy note上需要20秒(團隊android使用Object Relational Modal與Sqlite數據庫進行通信)

這是提高性能的原因嗎?

是否有任何與Java for ORDER-C中的ORM相同的功能,以提高處理Sqlite時的性能(特定於處理器,耗時較少)?

第一件事是您不應該在主線程上進行網絡操作(Web服務調用)。 那應該在后台線程上完成。 我對直接使用SQLite不太了解,但是使用CoreData可以在后台線程上進行“數據庫”更新,而僅使用主線程來合並兩個ManagedObjectContexts

我想象將您的WS調用移至后台線程(AFNetworking是一個不錯的框架),您將看到很多改進。

我有一個示例,這是一個基於Web服務的應用程序,該應用程序從SQL Server DB獲取7000條記錄並創建一個NSArray(數據以JSON形式出現),該過程耗時7-10秒。 通過同時執行自動身份驗證過程,我進一步減小了對用戶的影響。

30秒太長,無法讓用戶等待IMO。

您可以使用下面的鏈接快速插入數據。 我們用它來保存50000條記錄,這些記錄在幾秒鍾內完成,而幾分鍾內就完成了

快速插入數據庫

這里有14個最佳技巧,這些最佳步驟可提高iOS App的性能

在本教程中,第13點提供了您所需的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM