1. 程式人生 > >[iOS 載入xib卡頓/慢/延時]程式第一次啟動,載入xib檔案延時3-5秒問題

[iOS 載入xib卡頓/慢/延時]程式第一次啟動,載入xib檔案延時3-5秒問題

遇到的問題:

在程式第一次啟動好以後, 第一次 無論是 push 或者 presentViewController 或者tabBar 切換檢視 (這裡的每個VIewController 都是由xib檔案構成) 都有一個情況出現, 就是在觸發這些方法以後, 第一次都會有個3-5秒的延遲 ,初步懷疑是xib檔案載入的問題

特別說明一下

這個延遲 或者說卡頓 並非ios7那個經典的背景色問題

繼續

百度了很多 ,才這個帖子中發現了罪魁禍首,
在我的xib檔案中, 我的laber控制元件使用的並非系統自帶的文字字型,而是根據設計的要求 我使用了自定義字型

這裡寫圖片描述

如果把這個字型修改會 system字型 ,那麼 這個很明顯的 頭次載入延時緩慢問題就可以消除,

問題是, 我如果要用非系統字型,難道就要忍受這個第一次卡頓嗎??
我再去想想辦法 ,先到這裡

目前的辦法是, 我程式的第一個展示的頁面裡有個按鈕, 我同樣的修改了按鈕的字型 ,這樣在載入luanchImage到顯示第一個頁面的時候, 雖然增加了點時間, 但是不會讓人看出卡頓和延遲
也避免了我再去修改每個xib的字型

相關推薦

[iOS 載入xib//]程式第一啟動,載入xib檔案3-5問題

遇到的問題: 在程式第一次啟動好以後, 第一次 無論是 push 或者 presentViewController 或者tabBar 切換檢視 (這裡的每個VIewController 都是由xib檔案構成) 都有一個情況出現, 就是在觸發這些方法以後,

android應用程式第一啟動顯示引導介面

市面上好多優秀的應用(舉例新浪微博、UC瀏覽器)都採用了歡迎頁面與使用嚮導的方式給使用者帶來了良好的使用者體驗。 一般來說使用者第一次安裝應用或者安裝了新版本後第一次進入應用都會顯示成 歡迎頁面-使用嚮導-主介面 的方式 使用者沒有安裝新版本或者不是第一次進入的時候都

Android App解決之內存抖動及內存泄漏(發現和定位)

頻率 其他 直觀 工具使用 nts and article 退出 大小 內存抖動是指在短時間內有大量的對象被創建或者被回收的現象,內存抖動出現原因主要是頻繁(很重要)在循環裏創建對象(導致大量對象在短時間內被創建,由於新對象是要占用內存空間的而且是頻繁,如果一次或者兩次在

解決頁面使用overflow: scroll在iOS上滑動的問題

http://www.jianshu.com/p/1f4693d0ad2d 以下程式碼可解決這種卡頓的問題:-webkit-overflow-scrolling: touch;,是因為這行程式碼啟用了硬體加速特性,所以滑動很流暢。 實際上,Safari真的用了原生控制元

Android App解決之記憶體抖動及記憶體洩漏(發現和定位)

記憶體抖動是指在短時間內有大量的物件被建立或者被回收的現象,記憶體抖動出現原因主要是頻繁(很重要)在迴圈裡建立物件(導致大量物件在短時間內被建立,由於新物件是要佔用記憶體空間的而且是頻繁,如果一次或者兩次在迴圈裡建立物件對記憶體影響不大,不會造成嚴重記憶體抖動這樣可以接受也

Android app優化之導致app 的直接原因

大多數使用者感知到的卡頓等效能問題的最主要根源都是因為渲染效能。從設計師的角度,他們希望App能夠有更多的動畫,圖片等時尚元素來實現流暢的使用者體驗。但是Android系統很有可能無法及時完成那些複雜的介面渲染操作。Android系統每隔16ms發出VSYNC訊號,觸發

iOS tableView滑動的問題之一

修改前計算cell高度的程式碼 let data = NSData(contentsOf: URL(string: self.model?.details?[indexPath.row-2] ?? "")!) guard data != ni

為什麼MySQL做查詢語句第一會很,但是第二,第三就會變快

為什麼MySQL做查詢語句時,第一次會很慢,但是第二次,第三次就會變快 為什麼MySQL的查詢事務第一次執行會很慢,第二次,第三次就會快很多呢? 在國外,有個老外這麼提問 Hi, I have an sql query which takes 8 seconds i

JavaWeb 服務啟動,在後臺啟動載入一個類

兩種方法, 一、監聽(Listener) 1、建立個監聽類,繼承ServletContextListener package tbp.common.xkins; import javax.servlet.ServletContextEvent; import net

在eclipse中tomcat每天第一啟動不會載入專案問題

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 在eclipse GANYMEDE中apache-tomcat-6.0載入工程後,啟動伺服器

關於cocoa pod 管理程式碼第一安裝執行pod setup 很的解決方式

現在很多OC開發專案都使用cocoapods進行程式碼管理了,cocoapoods管理嘛,其實還挺方便,就是每次裝都是個費時的事,半天裝不了。裝好後最關鍵就是按裝版本描述卡死。與其說卡死不如說沒看到反應吧。pod setup 然之後出現 Setting up Cocoapod

wcf在程式第一載入的時候很

      我通過cs架構採用wcf作為服務層,在開啟服務後,開啟wpf客戶端,在第一次請求的時候比較慢大概需要8秒左右,到後面請求就沒事了,通過網上說的在客戶端配置檔案的binding上新增 useDefaultWe

解決ef第一啟動

一次 clas per cat com log lar 預編譯 images protected void Application_Start() { //禁用第一次ef查詢對表__MigrationHistory的問題使用了e

Chrome瀏覽器點擊 input file上傳按鈕延遲3-5的解決方法

chrome瀏覽器 input file1. Google chrome 瀏覽器在52版本之後出現一個bug,就是點擊 input file上傳按鈕時反應很慢,需要等待3-5秒種之後才能彈出選擇文件的對話框。比如windows裏可能是這樣:MAC裏可能是這樣:Chrome瀏覽器點擊 input file上傳

Launcher3學習記錄-Launcher第一啟動的快捷方式、Widget加載流程

needed tca see task 通過 syn lvs 基本 stp Launcher3的主Activity是Launcher.java,在onCreate()方法中可以找到數據下載的入口。mModel 是類LauncherModel的引用。 1

iOS 判斷App是否第一啟動

ios 判斷app#define LAST_RUN_VERSION_KEY @"last_run_version_of_application" - (BOOL) isFirstLoad{ NSString *currentVersion = [[[NSBundle mainBundle] inf

Redis第一啟動,SHUTDOWN提示: (error) ERR Errors trying to SHUTDOWN. Check logs.

今天我也是第一次玩redis,從下載到安裝到HelloWorld一切順風順水,誰知在最後關閉redis時,出現了(error) ERR Errors trying to SHUTDOWN. Check logs.錯誤。下面貼出我的解決過程(可能有點繁瑣):

面試程式設計師吹的太厲害,工作能力不行,這應該怎麼處理?

在網際網路公司中,對於一般的一執行緒序員來說,主要的考察指標,就是有過硬的技術,但對於一名技術管理者來說,除了有過硬的技術,其他方面的能力也顯得極為重要,比如管理能力,具體說來就是開發的流程管理,專案進度的管理,用人,識人等方面的能力,特別是識人能力,是非常重要的,這個管理者的識人能力直接決定公司以

winform程式第一訪問Webservice的問題

當前執行緒處於堆疊溢位狀態因此無法計算表示式的值。如何為panel定義一個滑鼠左鍵連續快速單擊5次的事件當前執行緒處於堆疊溢位狀態因此無法計算表示式的值。如何為panel定義一個滑鼠左鍵連續快速單擊5次的事件 VC#專案可不可以像VC++一樣靈活定義輸出路徑WIN764位of

解決Android App第一啟動顯示白屏或者黑屏的問題

關於這個問題,首先得搞清楚一個概念,冷啟動,所謂冷啟動是指手指點下啟動圖示到第一個Activity介面呼叫onCreat方法之間的這段時間;那麼在這一段時間內究竟是如何操作的?發生了什麼導致白屏或者黑屏一段時間呢? 因為App在啟動的時候會啟動一個程序,在初始化的過程中,會消耗一部分時間,