Flutter_downloader HardCrash на Android сразу после начала загрузки

Может ли кто-нибудь объяснить мне, что происходит не так. Я пытаюсь в течение двух дней, но не могу решить, приложение снова и снова вылетает. Загрузка работала нормально, но после добавления новой страницы, просто чтобы добавить новую загрузку, приложение вылетало из строя, и даже после удаления страницы оно продолжало аварийно завершаться.

Первый сбой: нет информации, внезапное отключение.

Второй сбой:D / EgretLoader(28378): EgretLoader(контекст контекста)D / EgretLoader(28378): контекст не является действием W / WM-WorkSpec(28378): продолжительность задержки отката меньше минимального значения D / DownloadWorker(28378): DownloadWorker{url=https://bppimt.ac.in/nu/Notice/Notice_on_Postponement_of__scheduled_examinations_on_17.03.2021.pdf, имя файла=Notice_on_Postponement_of__scheduled_examinations_on_17.03.2021.pdf, / DownloadWorker(28378): уведомление об обновлении: {notificationId: 1, title: Notice_on_Postponement_of__scheduled_examinations_on_17.03.2021.pdf, status: 2, progress: 0}D / DownloadWorker(28378): открытое соединение с https://bppimt.ac.in/nu / Notice / Notice_on_Postponement_of__scheduled_examinations_on_17.03.2021.pdfI / com.mcd.twb(28378): фоновое одновременное копирование GC освободило 23356(1592 КБ) объектов AllocSpace, 90(3 МБ) объектов LOS, 49% свободно, 5 МБ / 10 МБ, приостановлено 19,531 мс, всего 75,666 мс с ContentCatcher(28378) : Не удалось уведомить WebViewE / libEGL (28378): вызов OpenGL ES API без текущего контекста (регистрируется один раз для каждого потока)I / flutter (28378): Fatal: не удалось найти обратный вызов E / libEGL (28378): validate_display:92 ошибка 3008 (EGL_BAD_DISPLAY)I / chatty (28378): uid=10621(com.mcd.twb) RenderThread идентичные 3 строки E / libEGL (28378): validate_display:92 ошибка 3008 (EGL_BAD_DISPLAY)F / OpenGLRenderer (Failed) (28378) для установки области повреждения на поверхности 0x79eadeef00, error=EGL_BAD_DISPLAY Потеряно соединение с устройством.

Остальные сбои:D / DownloadWorker(32459): DownloadWorker{url=https://bppimt.ac.in/nu/Notice/Notice_on_Postponement_of__scheduled_examinations_on_17.03.2021.pdf,filename=Notice_on_Postponement_on_17.03.2021. / 0 / Download,header=,isResume=falseD / DownloadWorker(32459): Уведомление об обновлении: {notificationId: 1, title: Notice_on_Postponement_of__scheduled_examinations_on_17.03.2021.pdf, status: 2, progress: 0}D / DownloadWorker(32459): Open подключение к https://bppimt.ac.in/nu/Notice/Notice_on_Postponement_of__scheduled_examinations_on_17.03.2021.pdfI / com.mcd.twb(32459): GC при одновременном копировании NativeAlloc освободил 22912(1545 КБ) объектов AllocSpace, 82(2 МБ) объекта LOS, 49% свободного места, 5 МБ / 10 МБ, приостановлено 116 мс, всего 227,920 мс I / flutter (32459): Неустранимая ошибка: не удалось найти обратный вызов. Потеряно соединение с устройством.

3 ответа

Если кто-то сталкивается с такой же проблемой, приложение вылетает сразу после начала загрузки.

Затем убедитесь, что вы зарегистрировали обратный вызов загрузки, проверьте его #445

Отвечая на свой вопрос. Проблема наконец-то решена, это была проблема с моим кодом. Фактически я создал новую страницу вне основного канала. Значит, он не был правильно инициализирован. Теперь все работает нормально.

Для всех, кто сталкивается с этой проблемой, сделайте что-нибудь вроде этого:

      initFlutterDownloader() async {
await FlutterDownloader.initialize(
    debug: true // optional: set false to disable printing logs to 
   console
 );
}

затем вставьте этот код в initState на странице, с которой вы хотите загрузить файл:

      initFlutterDownloader();
Другие вопросы по тегам