我有一个三星Galaxy S6 Edge(64GB),运行Android Lollipop 5.0.2,我从发布日(2015年4月10日)起就有了,正如标题所提到的,似乎有一个问题,我的图片不再显示在默认的画廊应用程序中。我的手机上也有很多音乐,但在音乐播放器中不再显示。我不确定是什么原因导致照片和音乐消失,因为这似乎是完全随机的。我仍然可以在默认文件管理器"我的文件"中看到这些文件。
第一次发生时,我认为这可能是一个小故障,所以做了一次工厂重置,一切又都好了(尽管我确实花了大约3个小时才让手机变成我喜欢的样子)。几天后,它又发生了第二次,所以我又做了一次工厂重置。当它第三次发生时,我变得非常恼火,并把它带到我当地的三星维修中心,他们说这是一个软件问题,他们必须重新安装安卓系统,这将被解决。然而,5天后,它再次发生,所以我回到我购买合同的Carphone Warehouse,并要求一个新的手机,因为它必须是手机的问题,因为我找不到它发生在其他人身上的记录,而且三星已经消除了软件问题。
现在,在我拿到新手机的2周后,又发生了这种情况。今天早上图片还在,今天晚上它们都从画廊里消失了,音乐也消失了。我今天对我的手机没有做任何不寻常的事情,所以无法确定发生了什么。
如果我在相机上拍摄新的照片,它们会正常出现在图库中,但旧的照片却没有。如果我查看 "我的文件",我可以看到旧照片与我刚拍的新照片的位置完全相同...。这几乎就像它们被隐藏在画廊中一样。如果我安装一个应用程序,如QuickPic,所有的图片都会显示在那里,包括新的和旧的,但我不能用它来分享图片到Facebook等,所以这并不理想。
同样的情况也适用于我的音乐文件。如果我在"我的文件"中看到它们,但它们没有出现在"音乐播放器"中,这意味着我的所有闹铃都被设置为默认曲目,即"早晨的花"。
下面的截图显示了目前在相机文件夹中的所有图片,其中只有最上面的一张出现在图库中,只有最上面的一张出现在"我的文件"中的图片类别中。
我已经玩了各种设置,清除了缓存分区,在"我的文件"中点击了"显示隐藏的文件",并重新启动了手机几次,但似乎仍然有问题。我还从 "媒体存储应用 "中删除了 "媒体数据",清空了我的图库,但重启后没有重新扫描(或至少没有得到任何结果)。由于这是一部S6 Edge,没有SD卡,所以在安装磁盘时不应该有问题(尽管这没有意义,因为新文件与旧文件在同一位置)。
我已经设法在AE上找到了几个有类似问题的人,但他们没有得到回应,见这里和这里。
是否有某种调试日志,我可以创建并上传到某个地方?会不会是我的应用程序的特定组合,因为有同样问题的人很少?
如果有任何想法,我将不胜感激,因为这让我发疯了。
谢谢你。
亚当。
编辑:我已将手机与电脑连接起来,并运行adb logcat,但日志很大,我不确定我在寻找什么。下面的错误出现得相当频繁。
< 6>[18330.193843] [6:MediaScannerSer:22775] binder:3874:22775 交易失败29189,大小416-0
如果日志中的某一点对你有帮助,请告诉我,我将尽力把它提取出来。
编辑2:是否有一个程序可以让我创建一个错误报告,然后发送给谷歌或三星?
更新的答案:
检查你的设备内存(存储文件夹)中是否有一个名为.nomedia的隐藏文件(仔细检查名称是否大写)并删除。
进入设置 > 应用程序 -> 所有 -< 媒体存储。选择清除数据+清除默认值。禁用应用程序。
重新启动设备。现在再次启用Settings > Apps -> ALL -< Media Storage。等待几分钟(所以它应该重新索引文件)。我想所有的文件现在应该又在画廊里了。 注意:不要尝试运行任何重新扫描的应用程序,只需按照上述步骤进行。
旧答案:
你在logcat中得到的错误与处理/扩大图像的一个特定功能有关。这是一个众所周知的事实:Binder交易缓冲区的内存有限且固定(1MB)。这个缓冲区被所有的事务使用,并在各个进程中共享。例如,如果你有大量的大图片文件,而其中一些被损坏了(要么是由于电脑和设备、电脑和SD卡等传输不畅,要么是其中一些没有被你的应用程序识别(在你的例子中是Gallery),一旦这个应用程序试图为你的文件创建缩略图或预览,并实际缩小/增加其中一个文件,这个过程可能会失败。
同样的情况必须是一些文件(如铃声或.wav
文件,或.ogg
,或任何类型的音乐)在内容、大小、签名方面有问题。
因为你说问题又出现了,我怀疑你的应用程序有这种奇怪的行为。我甚至不认为是内核或类似的东西有问题。
所以,为了你自己的安全。
也要考虑到这个事实:一个".gif"、".jpg"、".png "或任何类型的图像,在你的电脑或设备中可能呈现为'正确,但实际上可能有'坏'内容(中断的内容)。请记住,在你的安卓设备中,所有与处理图像有关的操作都是基于压缩/解压(对于最常见的操作),这些都是逐位进行的,如果我可以这么说的话。强迫一个应用程序渲染不正确的类型或内容(错误的高度/宽度/文件长度),应该抛出一个TransactionTooLargeException(这就是MediaScanner在logcat中抛出的东西)。
它很可能是媒体扫描仪。问题是,在现代安卓版本中,play store中很少有媒体扫描仪的应用程序(尤其是棒棒糖),因此大多数应用程序要么崩溃,要么根本无法工作。因此,最好的办法是,你只能尝试一些应用程序,看看它们是否可以使用点击和试用(我个人不使用棒棒糖,所以无法测试)。例如,可以试试这个应用程序?
顺便说一下,你也可以尝试通过adb->踢媒体扫描仪。
adb shell am broadcast android.intent.action.MEDIA_MOUNTED
另一个可以尝试的方法是进入设置,为你的画廊应用清除数据和缓存,这样它就会重新分析所有媒体。