[Nexus 7 Q&A, Help & Troubleshooting] khaytsus:
Anyone else have problems with changing wallpapers? I've used "Wall Switch" in Android for years, and I share the same set of images between my phone (Galaxy Note) and Nexus 7. Perhaps around 4.2, not 100% sure, I started getting mostly failures to switch wallpaper. I've also tried another app, Wallpaper Changer, and it's doing the same thing, so I don't think it has anything to do with the app.

A few things I've tried... I've resized the images smaller several times, does not appear to have helped. Along the way I've made it the same size as my desktops (3, so 2400x1280), also tried other things, even 1280x800 etc.... All seems to fail at around the same frequency.

Tried jpg as well as png.. Even bmp.

Odd thing is, I can switch launchers to the stock launcher and it'll usually switch 3-4 times then start failing.. Switch back to Nova and it'll switch a few times then start failing....

Next odd thing; it's NOT specific images. The same image will fail one time, work the next.

I've also tried using Tasker.. When it fails, it sets the image only on the middle launcher screen (image is full resolution, it's just small and in the middle of the screen.. See here. And when it doesn't fail, it sets it to all three desktops and scrolls. See here. Same image, I can try it over and over, one time it fails, next time it doesn't. Same exact image. Meh!

I'm out of things to try.. I figured resizing all of the the images would stop any problems perhaps with the images being too big, having to resize them, possibly having errors etc.... Nothing seems to help.

Logcat output below. Basically just the decoder in "WallpaperManager" says it's out of memory.

D/WallSwitch( 6493): Switching Wallpaper to: {Id: '/storage/emulated/0/Phone Backgrounds/Fixed1923/6091959436_bb369c0123.jpg', Name: '/storage/emulated/0/Phone Backgrounds/Fixed1923/6091959436_bb369c0123.jpg', Artist: 'null'
I/WallSwitch( 6493): Wallpaper switched in 8091 ms
D/skia ( 793): --- decoder->decode returned false
W/WallpaperManager( 793): Can't decode file
W/WallpaperManager( 793): java.lang.OutOfMemoryError
W/WallpaperManager( 793): at android.graphics.BitmapFactory.nativeDecodeFileDescriptor(Native Method)
W/WallpaperManager( 793): at android.graphics.BitmapFactory.decodeFileDescriptor(BitmapFactory.java:620)
W/WallpaperManager( 793): at android.app.WallpaperManager$Globals.getCurrentWallpaperLocked(WallpaperManager.java:279)
W/WallpaperManager( 793): at android.app.WallpaperManager$Globals.peekWallpaperBitmap(WallpaperManager.java:246)
W/WallpaperManager( 793): at android.app.WallpaperManager.getBitmap(WallpaperManager.java:436)
W/WallpaperManager( 793): at com.android.systemui.ImageWallpaper$DrawableEngine.updateWallpaperLocked(ImageWallpaper.java:405)
W/WallpaperManager( 793): at com.android.systemui.ImageWallpaper$DrawableEngine.drawFrameLocked(ImageWallpaper.java:341)
W/WallpaperManager( 793): at com.android.systemui.ImageWallpaper$DrawableEngine.onSurfaceChanged(ImageWallpaper.java:285)
W/WallpaperManager( 793): at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:693)
W/WallpaperManager( 793): at android.service.wallpaper.WallpaperService$Engine.attach(WallpaperService.java:781)
W/WallpaperManager( 793): at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1037)
W/WallpaperManager( 793): at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:40)
W/WallpaperManager( 793): at android.os.Handler.dispatchMessage(Handler.java:99)
W/WallpaperManager( 793): at android.os.Looper.loop(Looper.java:137)
W/WallpaperManager( 793): at android.app.ActivityThread.main(ActivityThread.java:5039)
W/WallpaperManager( 793): at java.lang.reflect.Method.invokeNative(Native Method)
W/WallpaperManager( 793): at java.lang.reflect.Method.invoke(Method.java:511)
W/WallpaperManager( 793): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
W/WallpaperManager( 793): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
W/WallpaperManager( 793): Can't generate default bitmap
W/WallpaperManager( 793): java.lang.OutOfMemoryError
W/WallpaperManager( 793): at android.graphics.Bitmap.nativeCreate(Native Method)
W/WallpaperManager( 793): at android.graphics.Bitmap.createBitmap(Bitmap.java:689)
W/WallpaperManager( 793): at android.graphics.Bitmap.createBitmap(Bitmap.java:666)
W/WallpaperManager( 793): at android.graphics.Bitmap.createBitmap(Bitmap.java:633)
W/WallpaperManager( 793): at android.app.WallpaperManager.generateBitmap(WallpaperManager.java:809)
W/WallpaperManager( 793): at android.app.WallpaperManager$Globals.getDefaultWallpaperLocked(WallpaperManager.java:309)
W/WallpaperManager( 793): at android.app.WallpaperManager$Globals.peekWallpaperBitmap(WallpaperManager.java:252)
W/WallpaperManager( 793): at android.app.WallpaperManager.getBitmap(WallpaperManager.java:436)
W/WallpaperManager( 793): at com.android.systemui.ImageWallpaper$DrawableEngine.updateWallpaperLocked(ImageWallpaper.java:405)
W/WallpaperManager( 793): at com.android.systemui.ImageWallpaper$DrawableEngine.drawFrameLocked(ImageWallpaper.java:341)
W/WallpaperManager( 793): at com.android.systemui.ImageWallpaper$DrawableEngine.onSurfaceChanged(ImageWallpaper.java:285)
W/WallpaperManager( 793): at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:693)
W/WallpaperManager( 793): at android.service.wallpaper.WallpaperService$Engine.attach(WallpaperService.java:781)
W/WallpaperManager( 793): at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1037)
W/WallpaperManager( 793): at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:40)
W/WallpaperManager( 793): at android.os.Handler.dispatchMessage(Handler.java:99)
W/WallpaperManager( 793): at android.os.Looper.loop(Looper.java:137)
W/WallpaperManager( 793): at android.app.ActivityThread.main(ActivityThread.java:5039)
W/WallpaperManager( 793): at java.lang.reflect.Method.invokeNative(Native Method)
W/WallpaperManager( 793): at java.lang.reflect.Method.invoke(Method.java:511)
W/WallpaperManager( 793): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
W/WallpaperManager( 793): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)