/** * Called when the PDF is loaded */ public void LoadComplete(PdfFile pdfFile) { state = State.Loaded; this.PdfFile = pdfFile; if (!renderingHandlerThread.IsAlive) { renderingHandlerThread.Start(); } RenderingHandler = new RenderingHandler(renderingHandlerThread.Looper, this); RenderingHandler.Start(); if (ScrollHandle != null) { ScrollHandle.SetupLayout(this); isScrollHandleInit = true; } dragPinchManager.Enable(); Callbacks.CallOnLoadComplete(this, new LoadCompletedEventArgs(pdfFile.PagesCount)); JumpTo(DefaultPage, false); }
public void Recycle() { waitingDocumentConfigurator = null; animationManager.StopAll(); dragPinchManager.Disable(); // Stop tasks if (RenderingHandler != null) { RenderingHandler.Stop(); RenderingHandler.RemoveMessages(RenderingHandler.MsgRenderTask); } decodingAsyncTask?.Cancel(); // Clear caches CacheManager.Recycle(); if (ScrollHandle != null && isScrollHandleInit) { ScrollHandle.DestroyLayout(); } if (PdfFile != null) { PdfFile.Dispose(); PdfFile = null; } RenderingHandler = null; ScrollHandle = null; isScrollHandleInit = false; CurrentXOffset = CurrentYOffset = 0; Zoom = 1f; IsRecycled = true; Callbacks = new Callbacks(); state = State.Default; }