Управление памятью
-
28-09-2019 - |
Вопрос
Мне нужна разъяснение от всех вас, то есть я реализую приложение iPad. В этом я пытался скачать и анимировать изображения. Количество изображений должно быть более 100 000. Код, который я использовал для загрузки и добавления к просмотру следующим образом.
UIImageView* imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0,100,100)];
NSData *receivedData=nil;
receivedData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://path/prudently/iphone/image_s/e545afbf-4e3e-442e-92f9-a7891fc3ea9f/test.png"]];
imageView.image = [[UIImage alloc] initWithData:receivedData] ;
[subView addSubview:imageView];
[imageView release];
Но я получаю исключение после того, как я успешно добавил более 8000 изображений на мой подзвучий. Я получаю исключение при получении данных с URL. И еще одна вещь, которую я не высвобождаю субвейн, потому что, как только я скачал их, мне нужно анимировать подзлознуть.
Пожалуйста, дайте мне свои предложения
Спасибо, Схар Битталам.
Решение
Вы можете написать URL, изображения или что-то в кэшированный файл и разделите некоторые страницы для анимирования изображений ... Когда пользователь нажимает ссылку на страницу, приложение чтение и анимируйте изображения этой страницы, изображения страницы, которые пользователь «Использование не нужно отображать».
Другие советы
100 000 изображений кажутся много для настольных приложений, не говоря уже о смартфоне, как iPhone. Разве не еще один подход, который вы можете взять, чтобы решить эту проблему, которая не понадобится такой высокий подсчет ресурсов?
Единственный способ достичь этого, - это динамически создавать и уничтожать UiimageViews, поскольку они необходимы на экране. IPhone / iPad / iAnything неспособен делать то, что вы хотите из-за ограниченной памяти, доступной на устройстве.