維護(hù)舊項(xiàng)目遇見一個bug,在activity中上傳視頻到服務(wù)器援岩,onPause中做了暫停上傳功能歼狼,onDestroy時如果還未上傳完就取消上傳,但遇見一個問題享怀,當(dāng)用戶上傳視頻切換到后臺羽峰,把APP強(qiáng)殺了,這時候只會走棧最底層activity(一般是MainActivity)的onDestroy,當(dāng)前activity的onDestroy取消上傳就走不到了梅屉。
就想著監(jiān)聽進(jìn)程被強(qiáng)殺時值纱,判斷所有有上傳視頻功能的activity有沒有暫停上傳的,有就取消坯汤,可是太懶不想寫這么多计雌,就想著在MainActivity的onDestroy中去發(fā)個通知說應(yīng)用要完全退出了,你們該釋放的資源就釋放吧玫霎,正好項(xiàng)目中集成了EventBus就用它發(fā)個通知凿滤,但想想這也不嚴(yán)謹(jǐn),因?yàn)橛锌赡躆ainActivity是因?yàn)閮?nèi)存不夠被殺死的啊庶近,要這時候app還在用呢翁脆,但一想我這項(xiàng)目的要求也沒有那么嚴(yán)謹(jǐn),接到通知在判斷一下上傳視頻的界面是不是在前臺就好了鼻种,不是直接取消上傳反番。
不嚴(yán)謹(jǐn)?shù)慕鉀Q辦法,但夠?qū)崿F(xiàn)需求了叉钥,就這樣吧罢缸,繼續(xù)修上古bug,加班寫新需求投队。
自我安慰一下重構(gòu)在同一改吧枫疆。