Существует множество проблем с нехваткой памяти при использовании игровых приложений на устройствах iPad.Поэтому для своей игры я думаю о следующем решении: перед запуском приложения я выделяю необходимое пространство и сразу освобождаю его при запуске.
Это, кажется, работает очень хорошо, давая мне больше стабильности спроблемы выделения памяти при запуске приложения.Что вы думаете об этом?Это хороший способ сделать это?
например:
{
size_t size = 30*MB;
NSLog(@"free up %u bytes", size);
size_t allocated = 0;
while(allocated < size && blocksCounter < MAX_BLOCKS) {
const size_t blockSize = 256*KB; // 256K blocks
blocks[blocksCounter] = malloc(blockSize);
if(blocks[blocksCounter]) {
bzero(blocks[blocksCounter], blockSize);
}
else {
NSLog(@"warning empty block at idx %d", blocksCounter);
}
blocksCounter++;
allocated += blockSize;
}
for(int i=blocksCounter-1; i>=0; i--) {
if(blocks[i]) {
free(blocks[i]);
}
}
blocksCounter = 0;
}