Samoxive / ImgurIsNotImgur

An unofficial Imgur client for Android.
MIT License
1 stars 0 forks source link

There was a problem parsing the package #1

Open KronemeyerJoshua opened 6 years ago

KronemeyerJoshua commented 6 years ago

Not sure if you still update this app, but many people are looking for an alternative to the official imgur app which is a buggy, ad ridden piece of crap.

Apk gives me the following error, "There was a problem parsing the package." LG G6 Android 7.0 April 1 2018

Samoxive commented 6 years ago

Hello, could you try building the APK yourself? We have only tested it on emulators and 1-2 android devices.

ozankaraali commented 6 years ago

I figured it out what the problem is and this project was written for OREO api 26. Now I will try to recompile it for Nougat 7.0 api 24 and will upload if everything goes okay. Thanks for informing us. Edit: Seems we did not include backwards compatibility to this project, our target api was oreo-26 so, I will check soon to see if we can make it compatible to older versions of Android.

KronemeyerJoshua commented 6 years ago

My phone just got updated to Oreo 8.0 (LG G6) The APK in release didn't work, but when I built it from source, it installed just fine. However, when attempting to view images from the home page by tapping on them, I get the following error in android studio. Thumbnails for images appear just fine. I'm not real well versed in android development, but I can provide logs/rebuild with changes if you need me to debug further.

W/zygote64: Throwing OutOfMemoryError "Failed to allocate a 145728760 byte allocation with 50331648 free bytes and 111MB until OOM, max allowed footprint 201486496, growth limit 268435456" E/AndroidRuntime: FATAL EXCEPTION: pool-1-thread-26 Process: com.imgurisnotimgur, PID: 11548 java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:353) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) at java.util.concurrent.FutureTask.setException(FutureTask.java:252) at java.util.concurrent.FutureTask.run(FutureTask.java:271) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Caused by: java.lang.OutOfMemoryError: Failed to allocate a 145728760 byte allocation with 50331648 free bytes and 111MB until OOM, max allowed footprint 201486496, growth limit 268435456 at okio.Buffer.readByteArray(Buffer.java:768) at okio.Buffer.readByteArray(Buffer.java:756) at okio.RealBufferedSource.readByteArray(RealBufferedSource.java:108) at okhttp3.ResponseBody.bytes(ResponseBody.java:136) at com.imgurisnotimgur.api.ImgurApi$Companion.getImageFile(ImgurApi.kt:50) at com.imgurisnotimgur.Imgur$Companion.getImageFile(Imgur.kt:25) at com.imgurisnotimgur.ImageDetailActivity$onLoadFinished$3.invoke(ImageDetailActivity.kt:68) at com.imgurisnotimgur.ImageDetailActivity$onLoadFinished$3.invoke(ImageDetailActivity.kt:19) at com.imgurisnotimgur.AsyncAction.doInBackground(AsyncAction.kt:16) at com.imgurisnotimgur.AsyncAction.doInBackground(AsyncAction.kt:7) at android.os.AsyncTask$2.call(AsyncTask.java:333) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)  at java.lang.Thread.run(Thread.java:764)  I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@4dbb7f2 time:212457449 I/zygote64: Compiler allocated 6MB to compile void android.view.ViewRootImpl.performTraversals()

Samoxive commented 6 years ago

With high resolution images, converting them to Bitmap format before displaying can be expensive on memory, to solve this, you can modify https://github.com/Samoxive/ImgurIsNotImgur/blob/master/app/src/main/java/com/imgurisnotimgur/ImageUtils.kt#L15 , changing 1080px max width with something smaller to save memory. This should prevent the app from crashing.