簡體   English   中英

當應用程序進入后台時,Flutter CamerPlugin“相機預覽”凍結

[英]Flutter CamerPlugin “camera preview” freezed when app goes to background

嗨,我使用 flutter cameraPreview 拍攝照片,相機預覽工作正常,但是當相機屏幕進入背景時,在該屏幕上恢復時相機屏幕凍結,無法查看 cameraPrview onResume。

我的代碼:

Future<void> _initializeCamera() async {
final cameras = await availableCameras();
final firstCamera = cameras.first;
_controller = CameraController(firstCamera, ResolutionPreset.high);
_initializeControllerFuture = _controller.initialize();
if (!mounted) {
  return;
}
setState(() {
  isCameraReady = true;
});
}


@override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      body: Stack(children: <Widget>[
        FutureBuilder<void>(
          future: _initializeControllerFuture,
          builder: (context, snapshot) {
            if (snapshot.connectionState == ConnectionState.done) {
              // If the Future is complete, display the preview.
              return CameraPreview(_controller);
            } else {
              return Center(
                  child:
                      CircularProgressIndicator()); // Otherwise, display a loading indicator.
            }
          },
        ),],),);

controller 配置正確。

我想知道為什么暫停時會處理相機預覽。

問題已通過初始化的 cameraPreview onResume 解決

 @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (state == AppLifecycleState.resumed) {
      _controller != null
          ? _initializeControllerFuture = _controller.initialize()
          : null; //on pause camera disposed so we need call again "issue is only for android"
    }
  }

恢復到頁面時,_controller.initialize 將調用,以便 cameraPreview 可以正常工作。

這是由於cameraPreview在onPause上運行了很長時間,它會被釋放..onAndroid我想是這樣..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM