Android 实时壁纸预览模式

Android 实时壁纸预览模式,android,live,wallpaper,Android,Live,Wallpaper,我已经创建了一个简单的图像滑块“实时墙纸”,它将在双击时调用图像。我知道在处理图像时会出现很多不同的OOM问题,因为Android系统必须将图像转换为BMP,这会大大增加图像的大小 我的问题是,当我从Live Wallper功能表屏幕激活Live Wallper并在预览模式下查看时,它可以完美地工作。我能够浏览我所有的图片,没有任何延迟或问题。然而,当我去设置实时墙纸时,它会因为一个OOM错误而崩溃。为什么会这样?预览模式是在不透明的表面上绘制的,而您的桌面在上面绘制图标、更新和动画 你优化了图

我已经创建了一个简单的图像滑块“实时墙纸”,它将在双击时调用图像。我知道在处理图像时会出现很多不同的OOM问题,因为Android系统必须将图像转换为BMP,这会大大增加图像的大小


我的问题是,当我从Live Wallper功能表屏幕激活Live Wallper并在预览模式下查看时,它可以完美地工作。我能够浏览我所有的图片,没有任何延迟或问题。然而,当我去设置实时墙纸时,它会因为一个OOM错误而崩溃。为什么会这样?

预览模式是在不透明的表面上绘制的,而您的桌面在上面绘制图标、更新和动画


你优化了图形吗?这可能会有很大帮助。。。类似于使用jpg/png。

我所有的图形都是通过Photoshop中的“保存为Web”进行优化的。我使用了一个960x800的图像,它似乎对大多数hdpi和xhdpi平板电脑都很有用。我的每个图像的文件大小大约为150-250kb。然而,我的印象是,无论文件大小如何,一旦Android系统将其转换为BMP,图像的分辨率就决定了实际的文件大小。该过程通常会将图像放大到1-2mb,这相当大。无论如何,谢谢你的帮助!等待它在哪些设备上发生故障?也许您需要为不同的设备提供不同的资源。这将不可避免地增加APK的大小,但会提高问题设备的性能。此外,可以帮助您批量转换为各自的DPI和分辨率。对于HDPI,我使用960x800。MDPI@720x600。480x400处的LDPI图像。然而,当我去设置实时墙纸时,我得到了这个错误的一个变体:E/dalvikvm heap(15936):682240字节的外部分配对于这个过程来说太大了。E/dalvikvm(15936):内存不足:堆大小=4499KB,分配=2555KB,位图大小=11606KB,限制=13756KB E/dalvikvm(15936):修剪信息:Footprint=2883KB,允许的Footprint=4867KB,修剪=368KB 01-12:01:15.896:E/GraphicsJNI(15936):VM不允许我们分配682240字节是的,这相当大。我将研究Photoshop的“为web保存”与trimage或“优于Photoshop的”谷歌osx搜索的“为web保存”相比是如何不足的。祝你好运。非常感谢你的时间和帮助!