RenderScript - является ли хорошей практикой вызывать Allocation.destroy() для каждого объекта Allocation, созданного по завершении работы с ним?
У меня были проблемы с управлением памятью при использовании RenderScript, поэтому я решил, что с Allocation.createFromBitmap()/createTyped()
потребляет память, Allocation.destroy()
освобождает память, потребляемую им.
Это хорошая практика, и что еще является хорошей практикой для программ на основе RenderScript?
1 ответ
Финализатор Allocation восстановит воспоминания, когда произойдет GC.
Однако, да, это хорошая практика - уничтожать Распределения, когда они вам больше не нужны.
Один комментарий: обычно рекомендуется вызывать Allocation.createFromBitmap(RenderScript rs, Bitmap b) при создании Allocations из растрового изображения. Это заставило бы Распределение делиться данными с растровым изображением, таким образом, вам не нужно копировать туда и обратно, пока шаг растрового изображения выравнивается по границе 32 байта или 16 байтов.