Jonatas

update route dispose

@@ -315,13 +315,13 @@ class GetInstance { @@ -315,13 +315,13 @@ class GetInstance {
315 /// - [key] For internal usage, is the processed key used to register 315 /// - [key] For internal usage, is the processed key used to register
316 /// the Instance. **don't use** it unless you know what you are doing. 316 /// the Instance. **don't use** it unless you know what you are doing.
317 /// - [force] Will delete an Instance even if marked as [permanent]. 317 /// - [force] Will delete an Instance even if marked as [permanent].
318 - Future<bool> delete<S>({String tag, String key, bool force = false}) { 318 + bool delete<S>({String tag, String key, bool force = false}) {
319 // return _queue.secure<bool>(() { 319 // return _queue.secure<bool>(() {
320 return _delete<S>(tag: tag, key: key, force: force); 320 return _delete<S>(tag: tag, key: key, force: force);
321 // }); 321 // });
322 } 322 }
323 323
324 - Future<bool> _delete<S>({String tag, String key, bool force = false}) async { 324 + bool _delete<S>({String tag, String key, bool force = false}) {
325 final newKey = key ?? _getKey(S, tag); 325 final newKey = key ?? _getKey(S, tag);
326 326
327 if (!_singl.containsKey(newKey)) { 327 if (!_singl.containsKey(newKey)) {
@@ -343,20 +343,20 @@ class GetInstance { @@ -343,20 +343,20 @@ class GetInstance {
343 if (i is GetxServiceMixin && !force) { 343 if (i is GetxServiceMixin && !force) {
344 return false; 344 return false;
345 } 345 }
346 - await Get.asap(() {  
347 - if (i is GetLifeCycle) {  
348 - i.onDelete();  
349 - Get.log('"$newKey" onClose() called');  
350 - }  
351 346
352 - _singl.remove(newKey); 347 + if (i is GetLifeCycle) {
  348 + i.onDelete();
  349 + Get.log('"$newKey" onClose() called');
  350 + }
  351 +
  352 + _singl.remove(newKey);
  353 +
  354 + if (_singl.containsKey(newKey)) {
  355 + Get.log('Error removing object "$newKey"', isError: true);
  356 + } else {
  357 + Get.log('"$newKey" deleted from memory');
  358 + }
353 359
354 - if (_singl.containsKey(newKey)) {  
355 - Get.log('Error removing object "$newKey"', isError: true);  
356 - } else {  
357 - Get.log('"$newKey" deleted from memory');  
358 - }  
359 - });  
360 return true; 360 return true;
361 } 361 }
362 362
@@ -384,16 +384,16 @@ class GetPageRoute<T> extends PageRoute<T> { @@ -384,16 +384,16 @@ class GetPageRoute<T> extends PageRoute<T> {
384 384
385 @override 385 @override
386 void dispose() { 386 void dispose() {
387 - // if (Get.smartManagement != SmartManagement.onlyBuilder) {  
388 - // WidgetsBinding.instance.addPostFrameCallback((_) => GetInstance()  
389 - // .removeDependencyByRoute("${settings?.name ?? routeName}"));  
390 - // }  
391 -  
392 super.dispose(); 387 super.dispose();
393 if (Get.smartManagement != SmartManagement.onlyBuilder) { 388 if (Get.smartManagement != SmartManagement.onlyBuilder) {
394 - GetInstance().removeDependencyByRoute("$reference"); 389 + WidgetsBinding.instance.addPostFrameCallback(
  390 + (_) => GetInstance().removeDependencyByRoute("$reference"));
395 } 391 }
396 392
  393 + // if (Get.smartManagement != SmartManagement.onlyBuilder) {
  394 + // GetInstance().removeDependencyByRoute("$reference");
  395 + // }
  396 +
397 final middlewareRunner = MiddlewareRunner(middlewares); 397 final middlewareRunner = MiddlewareRunner(middlewares);
398 middlewareRunner.runOnPageDispose(); 398 middlewareRunner.runOnPageDispose();
399 } 399 }