flutter頁面黑屏,flutter webview黑屏

回到前臺黑屏引發(fā)對Flutter項目生命周期與安卓原生生命周期的思考

目前我們是flutter項目,有個需求是需要在app內(nèi)引導(dǎo)用戶去appStore或是安卓的應(yīng)用商店去評價,該需求我選用了兩個插件 in_app_review 和 launch_review , 然而仔做的過程中發(fā)現(xiàn)一個問題,當彈出系統(tǒng)的跳轉(zhuǎn)應(yīng)用商店的彈框時,iOS是單一彈框,Android是彈出一個選擇打開商店的彈窗,可選擇打開一次或是始終選擇某一個商店打開,此時鎖屏,然后再解鎖,發(fā)現(xiàn)iOS沒啥問題,安卓系統(tǒng)彈框后的flutter頁面黑屏了

創(chuàng)新互聯(lián)公司服務(wù)項目包括甘泉網(wǎng)站建設(shè)、甘泉網(wǎng)站制作、甘泉網(wǎng)頁制作以及甘泉網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,甘泉網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到甘泉省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

看到這個現(xiàn)象,目測是由于安卓的生命周期和flutter的生命周期沒有同步,以下是驗證過程

安卓的MainActivity添加生命周期方法

flutter 添加生命周期方法

還是剛才的場景 鎖屏 安卓和flutter的后臺方法都調(diào)用,解鎖回到前臺 只有安卓的前臺方法走 MainActivity會restart,flutter的resume方法,沒有調(diào)用,驗證了開始的猜想,是由于flutter沒有檢測到前臺操作或是這種情況flutter不認為自己在前臺,導(dǎo)致flutter沒有執(zhí)行頁面的重新繪制導(dǎo)致黑屏

關(guān)于flutter的生命周期,查閱資料發(fā)現(xiàn) 我們可以手動刷新flutter頁面的狀態(tài),即使用

我們只需要在MainActivity restart的時候調(diào)用上述 方法 告知flutter重繪,該問題就解決了

關(guān)于原生加載flutter頁面 生命周期相關(guān) 看這里 能有一些啟發(fā)

2022-04-22iOS項目混編flutter,iOS真機debug模式下打不開flutter頁面

最近項目中要集成flutter來進行混編,但是在集成后,突然遇到一個很神奇的問題,在debug模式下,用數(shù)據(jù)線連接真機打包可以打開flutter頁面,但是一旦拔掉數(shù)據(jù)線,再打開flutter頁面就不行了,開始以為是因為flutterSDK的原因,但是一查資料才發(fā)現(xiàn),原來是因為debug模式下flutter實現(xiàn)了熱重載,默認的編譯方式是JIV,但是iOS14+之后的系統(tǒng)限制了JIV這種編譯方式,所以連接Xcode重新run一個release包就可以了,因為flutter在release模式下的編譯方式是AOT,iOS14+的系統(tǒng)是支持這種編譯方式的,具體解決方案如下圖

再運行就可以了。

當然還有另外一種解決方案,就是修改flutter的編譯配置,強制設(shè)為release

Flutter中 webview的鍵盤問題解決

webview的版本是webview_flutter: ^0.3.22+1

現(xiàn)在遇到的問題是如果webview中輸入密碼的話,像華為這種會調(diào)用自己的安全鍵盤,這時候就會黑屏,應(yīng)該是內(nèi)部計算鍵盤高度的問題。這時候沒辦法了,網(wǎng)頁web端密碼框需要修改一下了自己自定義一下不調(diào)用密碼類型就好,但是無法被輸入框彈上去,后來解決方案是用SingleChildScrollView包裹一下,然后自己監(jiān)聽一下鍵盤的彈窗和隱藏做一下jump的高度就好了

ps: jump的時候要注意高度,可以在鍵盤出來的時候底部增加一個只有高度的view,鍵盤收起隱藏就好了

在Flutter開發(fā)iOS中,app啟動黑屏之后顯示啟動頁的解決辦法

一、由于安卓那邊升級了某些插件,我這邊pull之后,進行了Pub get。運行ios項目,發(fā)現(xiàn)app啟動之后,先閃現(xiàn)黑屏,然后再出現(xiàn)啟動頁,之后在進入主頁面。解決此問題的方法,是把啟動頁的圖片移除,把啟動頁的圖片修改一個新名字,再導(dǎo)入項目中,再重新運行項目,就正常了。

當前題目:flutter頁面黑屏,flutter webview黑屏
轉(zhuǎn)載源于:http://muchs.cn/article42/phgehc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化品牌網(wǎng)站制作、定制開發(fā)、做網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司