I did an hour long presentation and got this today: E/AndroidRuntime( 2269): java.lang.OutOfMemoryError: bitmap size exceeds VM budget E/AndroidRuntime( 2269): at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) E/AndroidRuntime( 2269): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:405) E/AndroidRuntime( 2269): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:418) E/AndroidRuntime( 2269): at org.libreoffice.impressremote.communication.SlideShow.getImage(SlideShow.java:57) E/AndroidRuntime( 2269): at org.libreoffice.impressremote.PresentationFragment$ThumbnailAdapter.createBitmap(PresentationFragment.java:309) E/AndroidRuntime( 2269): at pl.polidea.coverflow.AbstractCoverFlowImageAdapter.getItem(AbstractCoverFlowImageAdapter.java:73) I strongly suspect that this is because: public Bitmap getImage(int aSlide) { byte[] aImage = mPreviewImages.get(aSlide); if (aImage == null) { return BitmapFactory.decodeResource(mContext.getResources(), R.drawable.image_loading); } Bitmap aBitmap = null; try { aBitmap = BitmapFactory.decodeByteArray(aImage, 0, aImage.length); } catch (OutOfMemoryError e) { Log.e(Globals.TAG, "Bitmap decoding error byte length: " + aImage.length + "first 4 bytes: " + aImage[0] + " " + aImage[1] + " " + aImage[2] + " " + aImage[3] + "Exception " + e); } if (aBitmap == null) { return BitmapFactory.decodeResource(mContext.getResources(), R.drawable.image_loading); } return aBitmap; } is called by the coverflow, and constantly re-creates the bitmap from the stored base64 string. It seems to me that this is really silly :-) we should store the Bitmap and return the same Bitmap pointer for each slide as a Bitmap - which has to be 50% of the size of a base64 encoded image. It would also be the same image each time so as to not kill the GC etc. - and caching that should improve perf. We should throw away the base64 text too as soon as we successfully have an image in hand :-)
Artur Dryomov committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=514d6c6fb61437a2e4f6c94abb4bfea22936f86c fdo#62591 - change Impress remote slide previews building The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Artur Dryomov committed a patch related to this issue. It has been pushed to "libreoffice-4-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4ef4046419a3bc351a2ae06362ff5049cd120f96&h=libreoffice-4-0 fdo#62591 - change Impress remote slide previews building It will be available in LibreOffice 4.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
marking it fixed - thanks Artur !
Moving bug to (new) 'Impress Remote' product.