? ? 在項(xiàng)目中遇到了一個(gè)問(wèn)題,需要配置app的一項(xiàng)功能的控制。該功能簡(jiǎn)單來(lái)說(shuō)其實(shí)是一個(gè)定時(shí)器timer,通過(guò)websocket長(zhǎng)連接不斷地獲取后端推送的消息,前端需要實(shí)時(shí)顯示該消息的數(shù)量,當(dāng)該控制項(xiàng)為false時(shí),取消控制。
? ? 我是在前端定義了一個(gè)靜態(tài)計(jì)數(shù)器,當(dāng)收到后端推送的消息時(shí)就自增,在A(yíng)ctivity中設(shè)置一個(gè)定時(shí)器不斷地輪詢(xún)?cè)L問(wèn)該計(jì)數(shù)器,再通過(guò)Message和Handler實(shí)時(shí)改變UI。
? ? 現(xiàn)在需要控制是否啟用這項(xiàng)功能,一開(kāi)始的想法時(shí)在CloudDefine中定義一個(gè)Boolean型的全局變量,每次輪詢(xún)時(shí)判斷該flag,但測(cè)試發(fā)現(xiàn),全局變量的改變?cè)谙麓螁?dòng)app時(shí)就失效了會(huì)重新指定默認(rèn)值。后來(lái)發(fā)現(xiàn)配置項(xiàng)在CloudPreference文件中,通過(guò)該文件的方法配置可以達(dá)到保存設(shè)置的功能。
? ? 還有我為什么會(huì)用插旗法來(lái)控制,因?yàn)槲以囍貙?xiě)該activity的返回函數(shù),在其中關(guān)閉定時(shí)器線(xiàn)程沒(méi)有用,在網(wǎng)上發(fā)現(xiàn)該問(wèn)題出現(xiàn)的還挺多,最后也沒(méi)解決[尷尬]。