Android QQ 和釘釘冷啟動如何做到秒開的?
釘釘貌似比手Q快,真是秒開。
因為他根本就沒有停掉好不好,華為P8測試,劃掉最近應用的QQ查看下進程根本就是還在的
你如果強制停止QQ啟動時間大概要2-3s,這個過程就屬於magi說的啟動優化了,的確也挺複雜的。
PS:我們也招人,想來鵝廠的歡迎聯繫我!手Q冷啟動速度挺快的,至少以手Q的體量,能做到這樣的速度很不容易,最困難的也不是把啟動速度提起來,而是如何能一直保持較快的啟動速度,畢竟再好的框架也經不住亂七八糟的業務邏輯瞎折騰。
啟動速度優化原理很簡單:明確整個啟動過程各個部分的耗時,理順時序,把非必要或者很重的操作後移。說起來很容易,真的落地很難,所以這類工作一般也都是作為一個專項去做。手Q有一套自己的啟動框架,一個獨立的模塊,把啟動過程中的流程拆分,在開發過程中對於各個部分的耗時進行監控。可以在保證業務越來越複雜的情況下,並不影響到啟動的耗時。
PS:關於實習生,我們這邊已經收到合適的簡歷,如果對公司還有興趣可以去官網投遞。社招還在繼續,如果有興趣歡迎私信。手Q的我沒專門研究過。
不過可以分享一個小技巧,也是研究過一些App後才知道的:第一次打開主界面後,先將其截圖保存,下次啟動的時候先顯示這張截圖,再切到主界面,會讓用戶有一種秒開的感覺。
這種對於主界面載入比較耗時,且主界面動態內容不多的工具類應用可以考慮。
缺點是在截圖顯示的期間,用戶以為可以操作,但點了啥反應也沒有,會比較囧。
因此需要設置一些條件,比如上次啟動時間在1.5s以內的才應用這個方案,可以讓用戶感覺載入時間不到1s。一般同一款設備,連續兩次啟動的時間不會差很遠,當然啟動時間也受外部環境影響,經常會有一些例外情況,因此截圖的展示時間也要設置上限。QQ在桌面上留了一個像素點
麻煩你點一下強行停止再來掐表
naive,那是你沒完全殺死它
明明做不到好嗎……
什麼時候秒開過?啟動界面都好幾秒。
因為那根本不是冷啟動。。。在設置里強行停止之後再開,並且強行停止之後沒有自啟動才算冷啟動吧
記得有MIUI的工程師噴過QQ,因為退出界面之後QQ會顯示一個1x1的懸浮窗,應用不太可能被殺死
能秒開的前提是qq一直在後台
拿衣服!按功能鍵,推出,不接收消息你再進你看秒開不秒開說秒開的全都是沒殺死進程的
綠色守護滅掉之後,最少要有一秒到兩秒的啟動時間。。。秒來的話就是後台常駐
@MagiLu 關於冷啟動,我想請教。如果是懶載入形式的,什麼時候用什麼時候初始化,那又有點繁瑣,需要把用到這些三方的api全部梳理出來加以處理。如果是一起初始化,肯定要放到子線程,這個時候必須要屏蔽掉四大組件的生命周期。綜合手Q的啟動,給些建議吧?
開一個像素點的方法早就不用了好吧。
實際這是一個偽命題,你並沒有真正的關掉QQ
在我手機上QQ啟動需要十秒,4.1的四核機。
原諒我跟題主用的不是一款手機。。
從未秒開(除過留後台,不過我一直都開綠色守護)
要想簡單重複冷啟動,兩種方法:①重啟手機。記得關閉"快速啟動"②換一部內存小的手機,然後隨便打開幾個大網頁,QQ再強悍也有很大幾率被強行關閉從而實現 偽*冷啟動
並不是冷啟動,留個像素點
聽說是開了個一像素的activity防殺進程?
推薦閱讀:
※國內有什麼類似App Annie的網站,可以監控國內安卓渠道的排名情況?
※Linux下交叉編譯出的so庫依賴libstdc++.so.6的問題?
※如何評價Zealer安卓版客戶端?
※Github 上有哪些值得學習的 gradle 開源插件?
※Android「應用已停止運行」是什麼原理?