為什麼有些UWP應用直接打開時卡死?
01-05
版本10586,網路環境校園網。開始菜單直接點擊應用時有一定幾率會出現卡在應用的啟動界面,如果點最小化就會很快在任務欄消失。而應用商店打開卻很快,如果在應用商店內打開應用也不會出現上面的情況。基本上微博網易雲音樂Facebook都出現過這種情況。這種情況出現的根源是什麼?為什麼同為uwp應用商店和edge不會出現這種情況?
因為這幫app程序員把聯網操作寫在了UI線程里。Windows GUI這20年好不容易積累下一大堆best practice,app程序員又不屑於向前輩們請教,估計要重頭髮明和總結一遍,估計也還要20年,到2028年應該大部分app的作者都不會寫這種逗比代碼了。
是不是第一次打開閃退之後正常?感覺和預載入機制有關。Windows 10 會預載入一些使用頻率較高的 UWP 應用,有時候會導致一些問題。看看任務管理器裡面有沒有那些未在前台打開過的應用的進程。
至於輪子說的,難道聯網 API 不都是實現為非同步的嗎?
如果初始化異常,很容易卡死在啟動界面在UI中請求網路這種低級的人很少吧,況且在app載入時
講真這不一定是哪一方面的問題,同樣表現成閃退的情況潛在的引發問題也會不一樣的
我覺得輪子哥說的不全對
有些應用的後台服務啟動發生異常,或者是前後台連不起來超過設定時限也可以自動閃退,這個就是設定好了的。依靠服務的應用服務初始化不了就沒有意義再開著了,不如關掉來過,比如我設定的十秒不成功自動退出(直接異常退出就可以,雖然沒有逼格)。至於為什麼服務啟動不了這個真的說不好,有時候uwp莫名其妙的起不起後台服務,刪應用也沒有用,默默重啟手機說一句你軟藥丸。有時候uwp系統默認的預載入的時候出現問題也會閃掉,預載入可以提高應用開啟速度,這個的確效果很明顯,但有時候也會遇到一些莫名其妙的藥丸。UWP裡面web操作的話很多都有async的,編譯器會有提示要你await,應該很少人會直接ui去同步搞網,當然了,異常處理沒寫好的話,遇到問題也是會閃的。
所以呢我覺得,單純因為在ui里web操作導致閃退的情況,正常情況下在uwp的可能性不是很大推薦閱讀:
※自己寫的uwp應用怎麼在其他人的電腦上運行,只有經過應用商店這種辦法嗎?
※Win10商店應用相對傳統桌面程序有什麼優點?(對用戶而言)
※如何評價微軟宣布Windows 10 Mobile將維持feature2分支?
※為什麼「專用網路」下的 VPN 連接會導致 Win10 UWP 應用斷網?
※有什麼電腦端的看圖 UWP App 完善地支持色彩管理?
TAG:Windows10 | 通用Windows平台UWP |