Revert "Delete RenderProxy off of the cleaner thread"
This reverts commit da3559683482a61d93b06bed6f46349f6f01dc63.
Bug: b/192050906
If too many RenderProxies are destroyed too quickly, we can end up jamming up the CommonPool preventing RenderThread from making progress if it's waiting on CommonPool tasks.
Change-Id: I8c324bc60891440d9b7be67961f8d5f881dc0f03
diff --git a/libs/hwui/renderthread/RenderProxy.h b/libs/hwui/renderthread/RenderProxy.h
index f4bcd07..d575aa7 100644
--- a/libs/hwui/renderthread/RenderProxy.h
+++ b/libs/hwui/renderthread/RenderProxy.h
@@ -62,14 +62,10 @@
* references RenderProxy fields. This is safe as RenderProxy cannot
* be deleted if it is blocked inside a call.
*/
-class RenderProxy final {
+class RenderProxy {
public:
RenderProxy(bool opaque, RenderNode* rootNode, IContextFactory* contextFactory);
- ~RenderProxy();
-
- // Schedules a delete of the RenderProxy at a later date. Avoids blocking the current thread
- // on destruction which ~RenderProxy does by default.
- static void asyncDelete(RenderProxy*);
+ virtual ~RenderProxy();
// Won't take effect until next EGLSurface creation
void setSwapBehavior(SwapBehavior swapBehavior);