0

I am using GetX State-management. Not for all but on some screens when i am navigating to another screen -

In Debug Mode or In Emulator - It gives some message given below

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

E/Surface ( 6136): freeAllBuffers: 1 buffers were freed while being dequeued! E/Surface ( 6136): getSlotFromBufferLocked: unknown buffer: 0xb4000073d40fca10

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

In Release Mode or in Real Android Device - App Crashes with little screen flickering.

It happens most of the times in the screens where i have used google_maps_flutter

and code for google_map i write is:

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([]),
        ),
      );
}

Here i am using map in this screen

And Here is the output where i am getting message in debug but app crashes in release mode

1 Answers1

0

Seems like you don't give permission in android manifest

MuhammadOmar
  • 518
  • 1
  • 4
  • 14