Мой вопрос довольно прост, у меня есть класс Dart, такой как
import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';
class Weather extends Equatable {
final String cityName;
final double tempCelsius;
final double tempFahrneit;
const Weather({
@required this.cityName,
@required this.tempCelsius,
this.tempFahrneit,
});
@override
List<Object> get props => [
cityName,
tempCelsius,
tempFahrneit,
];
@override
String toString() {
return [
cityName,
tempCelsius,
tempFahrneit,
].toString();
}
}
Я использую Equatable, чтобы упростить сравнение объектов, я также использовал ключевое слово const
в конструкторе класса (не уверен в этом, я слышал, что когда он используется в конструкторе класса, он делает Dart первым, если у него тот же класс с теми же свойствами, прежде чем его создавать).
Когда я смотрю на DevTools, я всегда получаю несколькоэкземпляры классов при вызове функции, хотя она всегда имеет одинаковые параметры, и сборщик мусора сохраняет ее событие, хотя я открываю / уничтожаю представление (Scaffold в контексте Flutter).
Сейчас я просто тестирую его смаленький класс, но это будет беспорядок, если это один большой класс, хотя я думаю, что в этом случае сборщик мусора наверняка избавится от неиспользуемых классов, но я хочу знать, смогу ли я решить эту «проблему» скакие-то пути Дарт / Флаттер.