Out Of Memory Error Android ImageViews - android

Okay, so in my app I have multiple ImageViews each holding an .png icon. right now there are 7... And yet my app, at random intervals, will crash with a anr dialog (App Not Responding) and it then throws this exception:
10-08 00:14:15.528 32732-32732/com.antechdevelopment.NotificationReminders E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.antechdevelopment.NotificationReminders, PID: 32732
java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:677)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:507)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:872)
at android.content.res.Resources.loadDrawable(Resources.java:3024)
at android.content.res.Resources.getDrawable(Resources.java:1586)
at android.app.ApplicationPackageManager.getDefaultActivityIcon(ApplicationPackageManager.java:783)
at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3466)
at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1879)
at android.view.Window.findViewById(Window.java:924)
at android.app.Activity.findViewById(Activity.java:1965)
at android.app.Activity$1.findViewById(Activity.java:745)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:880)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
at android.app.BackStackRecord.run(BackStackRecord.java:684)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
at android.app.Activity.performStart(Activity.java:5435)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
at android.app.ActivityThread.access$900(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Does anyone have an idea? I'm pretty stumped and annoyed! Thanks!

Just as the error states, you're running out of memory. This is most likely due to the size of the image and how its being loaded. A lot of libs have been created to solve these issues.
Try using some image loading libraries like one of the ones below. Most likely you'll be able to solve your issue using one of these battle tested libs.
Picasso
Ion
Universal Image Loader

Related

What might be the reason for this exception? java.lang.RuntimeException: InputChannel is not initialized

I am developing an android application. Sometimes I get the following application crash. I dont know why. Can anyone help me with this?
java.lang.RuntimeException: InputChannel is not initialized.
at android.view.InputEventReceiver.nativeInit(Native Method)
at android.view.InputEventReceiver.<init>(InputEventReceiver.java:70)
at android.view.ViewRootImpl$WindowInputEventReceiver.<init>(ViewRootImpl.java:5589)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:579)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2833)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2231)
at android.app.ActivityThread.access$700(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4998)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
at dalvik.system.NativeStart.main(Native Method)
Appretiate your help. :)
This is a known bug, see here:
https://code.google.com/p/android/issues/detail?id=108859
https://code.google.com/p/android/issues/detail?id=108859 - doesn't have a fix yet.
Android Studio restart didn't help, but I managed to work around it with a device restart.

Android Navigation Drawer with Page Sliding tab Strip

I'm trying to use Android Navigation Drawer with Page (Pager) Sliding tab Strip (https://github.com/Balaji-K13/Navigation-drawer-page-sliding-tab-strip), but i couldn't make it work. I'm using android studio. I made the imports in main project, and doesn't show any error, but when i run into a device (virtual or real) get this error:
05-22 10:38:20.200 1434-1434/com.webileapps.navdrawer E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.webileapps.navdrawer, PID: 1434
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.webileapps.navdrawer/com.webileapps.navdrawer.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.webileapps.navdrawer.MainActivity" on path: DexPathList[[zip file "/data/app/com.webileapps.navdrawer-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.webileapps.navdrawer-1, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2102)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
at android.app.ActivityThread.access$700(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4998)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.webileapps.navdrawer.MainActivity" on path: DexPathList[[zip file "/data/app/com.webileapps.navdrawer-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.webileapps.navdrawer-1, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2093)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
            at android.app.ActivityThread.access$700(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4998)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
            at dalvik.system.NativeStart.main(Native Method)
So, thoughts?
I was also trying to implement it and got the same error .After lot of effort I was able to run it but received the similar error as you have received .
I resolved the issue by
1:Close and start your eclipse .
2: copying the v4 jar of main project in all the library projects and deleting the existing ones .
The error comes due to mismatch of supportv4jar. Make all the supportv4jar of same version
3:after that Delete the gen and bin folder and clean the project and run .

com.android.org.chromium.content.browser.ResourceExtractor.getOutputDirFromContext(ResourceExtractor.java:307)

I am getting a strange error in android 4.4, this seems to be in webview, anybody have any idea to fix the bug, since the crash looks native, and i am not able figure out which class has the crash, so that i can handle the exception
java.lang.NullPointerException
at com.android.org.chromium.content.browser.ResourceExtractor.getOutputDirFromContext(ResourceExtractor.java:307)
at com.android.org.chromium.content.browser.ResourceExtractor.<init>(ResourceExtractor.java:266)
at com.android.org.chromium.content.browser.ResourceExtractor.get(ResourceExtractor.java:232)
at com.android.org.chromium.content.browser.BrowserStartupController.prepareToStartBrowserProcess(BrowserStartupController.java:266)
at com.android.org.chromium.content.browser.BrowserStartupController.startBrowserProcessesSync(BrowserStartupController.java:186)
at com.android.org.chromium.android_webview.AwBrowserProcess$1.run(AwBrowserProcess.java:49)
at com.android.org.chromium.base.ThreadUtils.runOnUiThreadBlocking(ThreadUtils.java:64)
at com.android.org.chromium.android_webview.AwBrowserProcess.start(AwBrowserProcess.java:45)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.startChromiumLocked(WebViewChromiumFactoryProvider.java:185)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.access$100(WebViewChromiumFactoryProvider.java:58)
at com.android.webview.chromium.WebViewChromiumFactoryProvider$1.run(WebViewChromiumFactoryProvider.java:123)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)

Android ClassNotFoundException for Support v7 TestActivity

I have an app that I just received a crash report for. I don't have the full stack trace with me right now, but it was from ActivityLoader.performLaunchActivity.
The class it is trying to launch is android.support.v7.widget.TestActivity. I certainly never try to load this activity anywhere in my app.
The device is a Samsung Galaxy Nexus running 4.1.1 rooted. The stacktrace looked normal to me (no xposed or anything like that).
Anyone ever see anything like this?
EDIT: Here's the stacktrace
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.cpsolutions.contacts/android.support.v7.widget.TestActivity}: java.lang.ClassNotFoundException: android.support.v7.widget.TestActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1998)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099)
at android.app.ActivityThread.access$600(ActivityThread.java:145)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:119)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4873)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:528)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.ClassNotFoundException: android.support.v7.widget.TestActivity
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:72)
at java.lang.ClassLoader.loadClass(ClassLoader.java:524)
at java.lang.ClassLoader._logged_loadClass(ClassLoader.java:484)
at java.lang.ClassLoader.loadClass(ClassLoader.java:476)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1989)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099)
at android.app.ActivityThread.access$600(ActivityThread.java:145)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:119)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4873)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:528)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(NativeStart.java)
After posting this in the Android issue tracker, I've gotten a response saying that it was an issue with Gradle that has been resolved, and will be reflected in the support libraries when they're updated.
This morning I have received from my BugTracker system the same exception in few seconds for several devices
Google Nexus 5 with Android 4.4.2
Galaxy Nexus with Android 4.1.1
Looks like someone have extracted the APK and installed in some simulator (I suspect this also because the reported screen size is 480x800 that is not a screen size of nexus 5.
So I think that this is not a real exception (or at least an exception thrown by our application) but some test made by someone.
The exception received is
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{it.frusso.mdpalette/android.support.v7.widget.TestActivity}: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.widget.TestActivity" on path: DexPathList[[zip file "/data/app/it.frusso.mdpalette-1.apk"],nativeLibraryDirectories=[/data/app-lib/it.frusso.mdpalette-1, /vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2135)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2259)
at android.app.ActivityThread.access$800(ActivityThread.java:149)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:122)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5122)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.widget.TestActivity" on path: DexPathList[[zip file "/data/app/it.frusso.mdpalette-1.apk"],nativeLibraryDirectories=[/data/app-lib/it.frusso.mdpalette-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
at java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.lang.ClassLoader._logged_loadClass(ClassLoader.java:480)
at java.lang.ClassLoader.loadClass(ClassLoader.java:472)
at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2126)
... 11 more
java.lang.ClassNotFoundException: Didn't find class "android.support.v7.widget.TestActivity" on path: DexPathList[[zip file "/data/app/it.frusso.mdpalette-1.apk"],nativeLibraryDirectories=[/data/app-lib/it.frusso.mdpalette-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
at java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.lang.ClassLoader._logged_loadClass(ClassLoader.java:480)
at java.lang.ClassLoader.loadClass(ClassLoader.java:472)
at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2126)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2259)
at android.app.ActivityThread.access$800(ActivityThread.java:149)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:122)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5122)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
I have also received a android.view.WindowManager.BadTokenException

RenderScript Support Library crashes on x86 devices

I'm getting FATAL EXCEPTION running android.support.v8.renderscript.* on Razor i, a x86 device. The problem goes away if I use android.renderscript.* Also there is not problem with ARM devices. Here is the exception:
03-03 18:35:26.009 25011-25011/com.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.MainActivity}: android.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 143 cannot locate '__strlen_chk'...
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2115)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2153)
at android.app.ActivityThread.access$700(ActivityThread.java:137)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5031)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 143 cannot locate '__strlen_chk'...
at android.support.v8.renderscript.RenderScript.create(RenderScript.java:945)
at android.support.v8.renderscript.RenderScript.create(RenderScript.java:982)
at android.support.v8.renderscript.RenderScript.create(RenderScript.java:968)
at com.example.app.MainActivity$PlaceholderFragment.createScript(MainActivity.java:92)
at com.example.app.MainActivity$PlaceholderFragment.onCreateView(MainActivity.java:81)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
at android.app.BackStackRecord.run(BackStackRecord.java:635)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
at android.app.Activity.performStart(Activity.java:5067)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2088)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2153)
            at android.app.ActivityThread.access$700(ActivityThread.java:137)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5031)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
            at dalvik.system.NativeStart.main(Native Method)
I meet the same issue when I using Build Tools 21.1.1 and proguard, you may need to use the following proguard settings:
-keepclasseswithmembernames class * {
native <methods>;
}
-keep class android.support.v8.renderscript.** { *; }
For more infomation: Using the Android Renderscript v8 Support Library
With Build Tools 21.1.1 this issue disappear.
I think you should also include the native libraries from \build-tools\19.0.2\renderscript\lib\packaged

Categories

Resources