Obecnie napotykam problem z pamięcią w budowaniu aplikacji na iOS. Sprawdziłem wycieki pamięci za pomocą instrumentów. Zauważyłem, że istnieje jeden rodzaj przecieków, który ciągle wyświetla się o nazwie swift_slowAlloc, o czym nie mam pojęcia. Fragment błędu podano poniżej.Aplikacja na iOS: zakończona z powodu problemu z pamięcią [powiązaną z kodem swiftSlowAlloc lub UII]
Innym powodem, myślę, że może się zdarzyć, ze względu na obciążenia kilku UIImages w mojej aplikacji. Aby udostępnić tło, biorę różne fragmenty oryginalnego obrazu w mojej aplikacji i przetwarzam je na nich. Jednak nie muszę przechowywać zdjęć do dalszych obliczeń. Użyłem autoreleasepoin do zwolnienia UIImage; ale wątpię, żeby to działało. Poniżej podano przykład:
@autoreleasepool {
UIImage *imageResized = MatToUIImage(resized28);
// MARK: Send resized28 to CNN and get the output. Fill the dict then
NSString *CNNScore;
CNNScore = [myclass CNNfloat:imageResized W1:W1 W2:W2 Wf1:Wf1 Wf2:Wf2 B1:B1 B2:B2 Bf1:Bf1 Bf2:Bf2];
imageResized = nil;
xtn = [NSNumber numberWithInteger:xt];
xbn = [NSNumber numberWithInteger:xb];
ytn = [NSNumber numberWithInteger:yt];
ybn = [NSNumber numberWithInteger:yb];
symbol = [NSString stringWithFormat:@"%@", CNNScore];
symtype = [NSString stringWithFormat:@"%@", [scoreDic objectForKey: symbol]];
numberInDict = [NSString stringWithFormat:@"%i", n];
inToMaroof = [NSArray arrayWithObjects: xtn, xbn, ytn, ybn, symbol,symtype, nil];
[toMaroof setObject: inToMaroof
forKey: numberInDict];
}
}
Czy ktoś może sugerować coś w tej sprawie?
Jakieś aktualizacje tego? Widzimy coś podobnego. Moja hipoteza polega na tym, że iOS zamyka aplikacje, które w krótkim czasie są głodne. –