2010-07-20 4 views
0

J'ai une vue ajoutée sur un scrollview (maxZoomScale = 1, minZoomScale = 0.25). Le view-frame a une taille de près (2000, 2000). J'ai écrit un code pour dessiner un chemin (pour ~ 8000 points) dans le drawRect de la vue. Chaque fois que le zoom de scrollview se termine, j'ai marqué le dessin de la vue. Maintenant, chaque fois que drawRect est appelé, il consomme une énorme quantité de mémoire (~ 16 Mo). En raison de cet iPad redémarre donnant des avertissements de mémoire. S'il vous plaît tout corps m'aider à résoudre ce problème ...Dessiner sur une vue (dans une vue défilée) consomme trop de mémoire dans les périphériques ipad

+0

16 Mo c'est pas beaucoup; vous devriez certainement être en mesure d'utiliser autant de choses sans qu'il ne s'écrase. Essayez d'utiliser Instruments pour voir combien vous allouez réellement. Si vous utilisez des objets temporaires dans '-drawRect:', vous pouvez utiliser NSAutoreleasePool pour améliorer la gestion de la mémoire. –

Répondre

0

Enquêter sur CATileLayer. Vous ne devriez pas dessiner une vue 2000x2000; la plupart des choses sont hors écran.

+0

Je veux un chemin dessiné en douceur lors d'un zoom avant/arrière. CATiledLayer le fait dessiner en plusieurs parties. – arpank

+0

Maps utilise des tuiles et si vous pouvez voir la discontinuité, ce n'est vraiment pas la fin du monde. –

Questions connexes