当我点击Flutter中的后退按钮时,应用程序崩溃



我正在使用GetX状态管理。不是所有的,但在一些屏幕上,当我导航到另一个屏幕时-

在调试模式或模拟器中-它会在下面给出一些消息

==========================

E/Surface(6136(:freeAllBuffers:1个缓冲区在出列时被释放!E/Surface(6136(:getSlotFromBufferLocked:未知缓冲区:0xb4000073d40fca10

==========================

在发布模式或在真正的Android设备-应用程序崩溃与小屏幕闪烁。

这种情况大多数时候都发生在我使用过google_maps_flutter 的屏幕上

我写的谷歌地图的代码是:

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class CustomGoogleMapWidget extends StatefulWidget {
Key? key,
required this.lat,
required this.lng,
this.isCircle = false,
this.isMarker = false,
}) : super(key: key);
final double lat;
final double lng;
final bool isCircle;
final bool isMarker;
@override
State<CustomGoogleMapWidget> createState() => _CustomGoogleMapWidgetState();
}
class _CustomGoogleMapWidgetState extends State<CustomGoogleMapWidget> {
final Completer<GoogleMapController> _controller = Completer();
BitmapDescriptor? _markerIcon;
Marker _createMarker(LatLng val) {
if (_markerIcon != null) {
return Marker(
markerId: const MarkerId('marker_1'),
position: val,
icon: _markerIcon!,
);
} else {
return Marker(
markerId: const MarkerId('marker_1'),
position: val,
);
}
}
Set<Circle> _setCircles(LatLng val) => {
Circle(
circleId: const CircleId('currentCircle'),
center: val,
radius: 300,
fillColor: Colors.red.shade100.withOpacity(0.5),
strokeColor: Colors.red.shade100.withOpacity(0.1),
)
};
@override
Widget build(BuildContext context) => Scaffold(
body: GoogleMap(
initialCameraPosition: CameraPosition(
target: LatLng(widget.lat, widget.lng),
zoom: 14.4746,
),
mapType: MapType.normal,
onMapCreated: _controller.complete,
markers: <Marker>{
widget.isMarker
? _createMarker(LatLng(widget.lat, widget.lng))
: const Marker(
markerId: MarkerId('marker_1'),
)
},
circles: widget.isCircle
? _setCircles(LatLng(widget.lat, widget.lng))
// ignore: prefer_collection_literals
: Set.from([]),
),
);
}

我在这个屏幕上使用地图

这是我在调试中收到消息的输出,但应用程序在发布模式中崩溃

似乎你没有在android清单中授予权限

相关内容

  • 没有找到相关文章

最新更新