J'ai créé un UIScrollView (canvas.scrollview) et j'ai un UIView personnalisé (canvas) à l'intérieur.UIScrollView semble utiliser beaucoup de mémoire sur les gros ContentSizes
une configuration normale pour le démarrage est quelque chose comme ceci:
CGRect cs2 = CGRectMake (0, 0, 4000, 4000); Écran CGPoint = {[UIScreen mainScreen] .bounds.size.width, [UIScreen mainScreen] .bounds.size.height};
self.canvas.frame = cs2; //taille de la toile;
self.canvas.scrollView.contentSize = canvas_size.size; self.canvas.scrollView.contentOffset = CGPointMake (canvas_size.size.width/2-screen.x/2, canvas_size.size.height/2-screen.y/2);
Mais j'ai remarqué que lorsque je définis la taille du contenu scrollview à une plus grande valeur comme 4000,4000; il utilisera beaucoup plus de mémoire. Par exemple:
scrollview view real virtual
1000,1000 1000,1000 6 88
4000,4000 1000,1000 62 145
1000,1000 4000,4000 6 88
Je voudrais avoir une zone de travail assez large si possible, mais 8000x8000 foobars complètement la mémoire. Une idée de pourquoi le scrollview utiliserait tant de mémoire, et y a-t-il un moyen de résoudre ce problème?
La propriété contentSize d'un UIScrollView n'affecte pas l'utilisation de la mémoire. – drawnonward
Si cela est vrai, alors pourquoi ne change-t-il que lorsque je change le contentSize? –