使用 preloadpageview 播放 15 到 20 个视频后,我在 flutter 中遇到内存不足错误

I'm*_*il3 7 out-of-memory dart flutter

我正在 Flutter 中开发一个应用程序,我正在使用 preloadpageview 和缓存的视频播放器插件通过我的数据库中的 url 播放视频,在播放 15 到 20 个视频后,我的应用程序正在关闭并且 logcat 提示这样的错误。我正在 initstate 中初始化视频并处理视频小部件。

视频小部件代码:

  @override
  void initState() {
    super.initState();
    controller = CachedVideoPlayerController.network(mediaUrl);
    _initializeVideoPlayerFuture = controller.initialize();
    controller.setLooping(true);
  }


  buildvideopreview(){
    return FutureBuilder(
      future: _initializeVideoPlayerFuture,
      builder: (context, snapshot) {
        if (snapshot.connectionState == ConnectionState.done) {
          return Stack(fit: StackFit.expand,
            children: <Widget>[
              AspectRatio(
                  aspectRatio: controller.value.aspectRatio,
                  child: VisibilityDetector(
                    key: Key(postId),
                    onVisibilityChanged: (VisibilityInfo info){
                      print("${info.visibleFraction} of my widget is visible");
                        if(info.visibleFraction == 1 && controller != null){
                          print('===========playing');
                            controller.play();
                          }
                        else{
                          print('============pause');
                          controller.pause();
                          }
                    },
                    child: CachedVideoPlayer(controller),
                  )
              ),
              Center(
                child: showheart
                    ? Image(
                  image: AssetImage('assets/gifs/heart.gif')
                )
                    : SizedBox()
              ),
              Center(
                  child: ispaused
                      ? Image(
                    width: 100,
                    height: 100,
                      image: AssetImage('assets/images/pause.png')
                  )
                      : SizedBox()
              )
            ],
          );
        } else {
          return Center(
            child: Container(
              width: 100,
              height: 100,
              child:
//              circularProgress(),
              Image(
                  image: AssetImage('assets/gifs/loadermain.gif')
              ),
            ),
          );
        }
      },
    );
  }

  @override
  void dispose() {
    super.dispose();
    postcontroller.dispose();
  }
Run Code Online (Sandbox Code Playgroud)

主页(预加载浏览量):

PreloadPageView.builder(
          scrollDirection: Axis.vertical,
          controller: postscontroller,
          preloadPagesCount: 5,
          itemCount: posts.length,
          physics: AlwaysScrollableScrollPhysics(),
          itemBuilder: (BuildContext context, int index) {
            Post post = posts[index];
            return post;
          });
Run Code Online (Sandbox Code Playgroud)

错误:

 Throwing OutOfMemoryError "Failed to allocate a 336 byte allocation with 0 free bytes and 0B until OOM, target footprint 402654152, growth limit 402653184" (VmSize 9519664 kB)
 on HeapTrim for 838.787ms
I/.imsunil.peopl(31137): Starting a blocking GC Alloc
I/.imsunil.peopl(31137): Clamp target GC heap from 400MB to 384MB
I/.imsunil.peopl(31137): Alloc concurrent copying GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 384MB/384MB, paused 65us total 39.915ms
I/.imsunil.peopl(31137): Forcing collection of SoftReferences for 64KB allocation
I/.imsunil.peopl(31137): Starting a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Clamp target GC heap from 400MB to 384MB
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
I/.imsunil.peopl(31137): Waiting for a blocking GC Alloc
utm=184 stm=54 core=6 HZ=100
F/.imsunil.peopl(31137): runtime.cc:630]   | stack=0x7106961000-0x7106963000 stackSize=1023KB
F/.imsunil.peopl(31137): runtime.cc:630]   | held mutexes=
F/.imsunil.peopl(31137): runtime.cc:630]   kernel: (couldn't read /proc/self/task/31144/stack)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #00 pc 000000000008014c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #01 pc 000000000014b1f4  /apex/com.android.runtime/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #02 pc 00000000005146c0  /apex/com.android.runtime/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+256)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #03 pc 0000000000513a4c  /apex/com.android.runtime/lib64/libart.so (art::ThreadPoolWorker::Run()+144)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #04 pc 000000000051350c  /apex/com.android.runtime/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+148)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #05 pc 00000000000e8930  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #06 pc 0000000000085094  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
F/.imsunil.peopl(31137): runtime.cc:630]   (no managed stack frames)
F/.imsunil.peopl(31137): runtime.cc:630] 
F/.imsunil.peopl(31137): runtime.cc:630] "Signal Catcher" prio=10 tid=5 WaitingInMainSignalCatcherLoop
F/.imsunil.peopl(31137): runtime.cc:630]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12c00078 self=0x71976f7000
F/.imsunil.peopl(31137): runtime.cc:630]   | sysTid=31149 nice=0 cgrp=default sched=0/0 handle=0x710595ad50
F/.imsunil.peopl(31137): runtime.cc:630]   | state=S schedstat=( 978958 6594323 7 ) utm=0 stm=0 core=5 HZ=100
F/.imsunil.peopl(31137): runtime.cc:630]   | stack=0x7105864000-0x7105866000 stackSize=991KB
F/.imsunil.peopl(31137): runtime.cc:630]   | held mutexes=
F/.imsunil.peopl(31137): runtime.cc:630]   kernel: (couldn't read /proc/self/task/31149/stack)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #00 pc 00000000000d3268  /apex/com.android.runtime/lib64/bionic/libc.so (__rt_sigtimedwait+8)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #01 pc 0000000000090148  /apex/com.android.runtime/lib64/bionic/libc.so (sigwait+68)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #02 pc 00000000004da1d0  /apex/com.android.runtime/lib64/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+392)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #03 pc 00000000004d8f50  /apex/com.android.runtime/lib64/libart.so (art::SignalCatcher::Run(void*)+268)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #04 pc 00000000000e8930  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #05 pc 0000000000085094  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
F/.imsunil.peopl(31137): runtime.cc:630]   (no managed stack frames)
F/.imsunil.peopl(31137): runtime.cc:630] 
F/.imsunil.peopl(31137): runtime.cc:630] "ADB-JDWP Connection Control Thread" prio=10 tid=8 WaitingInMainDebuggerLoop
F/.imsunil.peopl(31137): runtime.cc:630]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12c000f0 self=0x710526c800
F/.imsunil.peopl(31137): runtime.cc:630]   | sysTid=31150 nice=0 cgrp=default sched=0/0 handle=0x710585dd50
F/.imsunil.peopl(31137): runtime.cc:630]   | state=S schedstat=( 6899537 3956038 15 ) utm=0 stm=0 core=1 HZ=100
F/.imsunil.peopl(31137): runtime.cc:630]   | stack=0x7105767000-0x7105769000 stackSize=991KB
F/.imsunil.peopl(31137): runtime.cc:630]   | held mutexes=
F/.imsunil.peopl(31137): runtime.cc:630]   kernel: (couldn't read /proc/self/task/31150/stack)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #00 pc 00000000000d3168  /apex/com.android.runtime/lib64/bionic/libc.so (__ppoll+8)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #01 pc 000000000008dbec  /apex/com.android.runtime/lib64/bionic/libc.so (poll+88)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #02 pc 0000000000008e24  /apex/com.android.runtime/lib64/libadbconnection.so (adbconnection::AdbConnectionState::RunPollLoop(art::Thread*)+824)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #03 pc 000000000000721c  /apex/com.android.runtime/lib64/libadbconnection.so (adbconnection::CallbackFunction(void*)+1076)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #04 pc 00000000000e8930  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #05 pc 0000000000085094  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
F/.imsunil.peopl(31137): runtime.cc:630]   (no managed stack frames)
F/.imsunil.peopl(31137): runtime.cc:630] 
F/.imsunil.peopl(31137): runtime.cc:630] "ReferenceQueueDaemon" prio=10 tid=9 Waiting
F/.imsunil.peopl(31137): runtime.cc:630]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12c00168 self=0x7100bec000
F/.imsunil.peopl(31137): runtime.cc:630]   | sysTid=31152 nice=4 cgrp=default sched=0/0 handle=0x70a8d95d50
F/.imsunil.peopl(31137): runtime.cc:630]   | state=S schedstat=( 45776091 76168070 359 ) utm=2 stm=2 core=6 HZ=100
F/.imsunil.peopl(31137): runtime.cc:630]   | stack=0x70a8c93000-0x70a8c95000 stackSize=1039KB
F/.imsunil.peopl(31137): runtime.cc:630]   | held mutexes=
F/.imsunil.peopl(31137): runtime.cc:630]   kernel: (couldn't read /proc/self/task/31152/stack)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #00 pc 000000000008014c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #01 pc 000000000014b1f4  /apex/com.android.runtime/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #02 pc 000000000040c0e4  /apex/com.android.runtime/lib64/libart.so (art::Monitor::Wait(art::Thread*, long, int, bool, art::ThreadState)+620)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #03 pc 000000000040db44  /apex/com.android.runtime/lib64/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState)+284)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Object.wait(Native method)
F/.imsunil.peopl(31137): runtime.cc:630]   - waiting on <0x077da922> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Object.wait(Object.java:442)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Object.wait(Object.java:568)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:220)
F/.imsunil.peopl(31137): runtime.cc:630]   - locked <0x077da922> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Daemons$Daemon.run(Daemons.java:142)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Thread.run(Thread.java:919)
F/.imsunil.peopl(31137): runtime.cc:630] 
F/.imsunil.peopl(31137): runtime.cc:630] "FinalizerDaemon" prio=10 tid=10 WaitingForGcToComplete
F/.imsunil.peopl(31137): runtime.cc:630]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12c001e0 self=0x7100bedc00
F/.imsunil.peopl(31137): runtime.cc:630]   | sysTid=31153 nice=4 cgrp=default sched=0/0 handle=0x70a8c8cd50
F/.imsunil.peopl(31137): runtime.cc:630]   | state=S schedstat=( 197406407 93751169 663 ) utm=15 stm=4 core=7 HZ=100
F/.imsunil.peopl(31137): runtime.cc:630]   | stack=0x70a8b8a000-0x70a8b8c000 stackSize=1039KB
F/.imsunil.peopl(31137): runtime.cc:630]   | held mutexes=
F/.imsunil.peopl(31137): runtime.cc:630]   kernel: (couldn't read /proc/self/task/31153/stack)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #00 pc 000000000008014c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #01 pc 000000000014b1f4  /apex/com.android.runtime/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #02 pc 0000000000243ecc  /apex/com.android.runtime/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+444)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #03 pc 0000000000248fdc  /apex/com.android.runtime/lib64/libart.so (art::gc::Heap::CollectGarbageInternal(art::gc::collector::GcType, art::gc::GcCause, bool)+836)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #04 pc 000000000024d1d8  /apex/com.android.runtime/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+1196)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #05 pc 0000000000580ed4  /apex/com.android.runtime/lib64/libart.so (artAllocObjectFromCodeInitializedRegionTLAB+376)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #06 pc 000000000013e078  /apex/com.android.runtime/lib64/libart.so (art_quick_alloc_object_initialized_region_tlab+104)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #07 pc 00000000020b5650  /memfd:/jit-cache (deleted) (com.android.internal.os.BinderInternal$GcWatcher.finalize+368)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #08 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #09 pc 0000000000144fec  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #10 pc 00000000002e2674  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #11 pc 00000000002dd8d4  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+892)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #12 pc 000000000059ff90  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+648)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #13 pc 0000000000130814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #14 pc 00000000001b3bc2  /apex/com.android.runtime/javalib/core-libart.jar (java.lang.Daemons$FinalizerDaemon.doFinalize+22)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #15 pc 00000000005a255c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1100)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #16 pc 0000000000130914  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #17 pc 00000000001b3cb4  /apex/com.android.runtime/javalib/core-libart.jar (java.lang.Daemons$FinalizerDaemon.runInternal+164)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #18 pc 00000000005a0250  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1352)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #19 pc 0000000000130814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #20 pc 00000000001b39b6  /apex/com.android.runtime/javalib/core-libart.jar (java.lang.Daemons$Daemon.run+50)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #21 pc 00000000005a1a70  /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1788)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #22 pc 0000000000130a14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #23 pc 00000000000ea9a0  /apex/com.android.runtime/javalib/core-oj.jar (java.lang.Thread.run+8)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #24 pc 00000000002b3988  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.16775679700042528677+240)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #25 pc 00000000005914f8  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1032)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #26 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #27 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #28 pc 0000000000144fec  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #29 pc 00000000004afefc  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #30 pc 00000000004b1010  /apex/com.android.runtime/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+416)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #31 pc 00000000004f19cc  /apex/com.android.runtime/lib64/libart.so (art::Thread::CreateCallback(void*)+1176)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #32 pc 00000000000e8930  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #33 pc 0000000000085094  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
F/.imsunil.peopl(31137): runtime.cc:630]   at com.android.internal.os.BinderInternal$GcWatcher.finalize(BinderInternal.java:63)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:294)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:281)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Daemons$Daemon.run(Daemons.java:142)
F/.imsunil.peopl(31137): runtime.cc:630]   at java.lang.Thread.run(Thread.java:919)
F/.imsunil.peopl(31137): runtime.cc:630] 
F/.imsunil.peopl(31137): runtime.cc:630] "FinalizerWatchdogDaemon" prio=10 tid=11 Sleeping
F/.imsunil.peopl(31137): runtime.cc:630]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12c00288 self=0x7100bef800
F/.imsunil.peopl(31137): runtime.cc:630]   | sysTid=31154 nice=4 cgrp=default sched=0/0 handle=0x70a8b83d50
F/.imsunil.peopl(31137): runtime.cc:630]   | state=S schedstat=( 1896305 12050676 28 ) utm=0 stm=0 core=6 HZ=100
F/.imsunil.peopl(31137): runtime.cc:630]   | stack=0x70a8a81000-0x70a8a83000 stackSize=1039KB
F/.imsunil.peopl(31137): runtime.cc:630]   | held mutexes=
F/.imsunil.peopl(31137): runtime.cc:630]   kernel: (couldn't read /proc/self/task/31154/stack)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #00 pc 0000000000080150  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #01 pc 000000000014b62c  /apex/com.android.runtime/lib64/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long, int)+168)
F/.imsunil.peopl(31137): runtime.cc:630]   native: #

Dev*_*ara 8

当您看到异常时,您会发现您的应用程序正在消耗设备的大量 RAM。

您需要管理 flutter 应用程序中的内存泄漏。

Android 和 iOS 操作系统为每个应用程序分配有限的 RAM,以便同时管理所有进程。

如果任何应用程序使用的 RAM 多于其分配的内存,操作系统将停止该应用程序的所有进程。我们认为这是一次崩溃。

就您而言,您正在应用程序中播放多个视频,并且所有视频都是捕获的视频。当它们被捕获的视频时,它们会暂时保存在 RAM 中,并且当您看到越来越多的视频时,您正在使用越来越多的 RAM。

您需要优化您的应用程序,您可以在页面更改后清除视频。

这样,您就可以控制内存泄漏。