我正在使用SwiftUI 2中的新照片选择器,我制作了一个简单的应用程序以在LazyVGrid中显示导入的图像,但是当向下滚动时,如果我导入了约150张图像,则该应用程序会完成所有内存并崩溃(由于内存问题而终止。)
我对LazyVStack和List尝试了相同的操作,但是它们有相同的问题,我期望延迟项从内存中释放出屏幕之外的所有单元,但看起来不起作用。
这是错误还是我做错了什么?
这是我的代码:
auto stringListSplitter(const QString& str)
{
QStringList elements = str.split(':');
return std::make_pair(elements[0], elements[1]);
}
还有PhotoPickerView:
QString line = "id: John";
auto pair = stringListSplitter(line);
QString title = pair.first;
QString name = pair.second;
答案 0 :(得分:0)
视图本身几乎不消耗任何东西,并且惰性事物可以正常工作...加载和存储的图像占用了所有内存
struct Media: Identifiable {
var id = UUID()
var image: Image // << here !!
}
struct ContentView: View {
// .. other code
@State var medias: [Media] = [] // << here !!