Allocate layers from the layers pool.
Bug #3413433
This change will be beneficial to Launcher to avoid hiccups when
swiping pages of icons. When a layer is discarded, it is kept
in the layers pool instead of being destroyed right away. This
favors memory reuse over allocations.
Change-Id: Ifb6944ba83d6ceb67c331527c0827b26ce648eb1
diff --git a/libs/hwui/LayerCache.h b/libs/hwui/LayerCache.h
index 1333a73..d2d5f39 100644
--- a/libs/hwui/LayerCache.h
+++ b/libs/hwui/LayerCache.h
@@ -76,6 +76,17 @@
* Clears the cache. This causes all layers to be deleted.
*/
void clear();
+ /**
+ * Resize the specified layer if needed.
+ *
+ * @param layer The layer to resize
+ * @param width The new width of the layer
+ * @param height The new height of the layer
+ *
+ * @return True if the layer was resized or nothing happened, false if
+ * a failure occurred during the resizing operation
+ */
+ bool resize(Layer* layer, const uint32_t width, const uint32_t height);
/**
* Sets the maximum size of the cache in bytes.