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「應用已停止運行」是什麼原理?

TAG:Android應用 | Android開發 | Android | 安卓體驗 |