Я использую scrollview как родительский вид изображений размером 260X120. Если добавить только 4-5 изображений, использование памяти scrollview увеличивается до 3 МБ до 4 МБ и в конечном итоге приводит к сбою приложения. эти изображения, взятые с камеры, измените их размер до указанного выше размера.
Есть ли способ управлять этой памятью. Я также запустил приложение на инструментах и не нашел УТЕЧКИ!
Вот код, который я использую:
-(void)displayLocalBadgesinScrollView:(UIScrollView *)scrollerView badgeArray:(NSMutableArray *)badgearray
{
//int count=0;
for(int i=countArrLast;i<[badgearray count];i++)
{
if(count==2)
{
xGap=1.0;
yGap=yGap+90;
count=0;
}
UIButton *bdgButton=[UIButton buttonWithType:UIButtonTypeCustom];
bdgButton.tag=i;
bdgButton.frame=CGRectMake(xGap,yGap, 130.0, 70.0);
BadgeDetail *object=[badgearray objectAtIndex:i];
bdgButton.tag=[object.bdgID intValue];
if([object badgeImage]!=nil)
{
[bdgButton addTarget:self action:@selector(markBadgeNew:) forControlEvents:UIControlEventTouchUpInside];
[bdgButton setBackgroundImage:[UIImage imageWithData:[Base64Coder decodeData:[object badgeImage]]] forState:UIControlStateNormal];
}
[scrollerView addSubview:bdgButton];
Я вызываю этот метод в поле зрения, который появится, когда я вернусь только с другого экрана ... и badgearray заполнен объектами типа BadgeDetail. Вы можете видеть, как я обращаюсь к объекту изображения из объекта и задаю его как фоновое изображение. кнопки.