我想总结一下我设法找到的有关该问题的所有信息。
我做了一些研究,发现了一个有趣且可能不那么紧密相关的线程,关于DroidForums中的类似问题:
他们在那里发现,SD 卡导致了冻结(我不确定现在是否是这种情况,但如果有人可以尝试它会很好),这是那里的引述:
我的相机和摄像机像许多其他人一样冻结了,我很沮丧……我手里拿着我的“像新”手机,希望能有所帮助……没有这样的运气……弄清楚它是什么…… SDHC 卡!卡的简单格式和问题消失了..自己测试一下,转到您的主要设置并卸载 SD 卡,然后重新启动相机应用程序,看看它是否没有冻结......如果它不喜欢我的,那么你有你的回答...不完全确定我的 SDHC 卡上是什么导致了这种情况...仍在调查中,但肯定有什么...当我确切了解其他人的情况时,我会更新
希望这会有所帮助,并感谢所有我从这个论坛使用的许多技巧......
更新!!!
我的新 Gingerbread 手机再次出现同样的问题,我尝试了一些新的东西......只需将一些照片和视频从手机中移出并将它们备份到 PC......就像一个魅力......不需要格式化整个卡,只需给相机/摄像机应用程序一些空间..好像 5.5GB 还不够,但是嘿谁知道...现在视频只需 1/2 秒即可保存,相机又可以正常工作了...只是想我会让你们都知道..
一般来说,有时(或在大多数情况下)存储卡似乎会导致问题,因此如果您可以格式化正在使用的卡或将其替换为新卡,您可以查看是否是问题所在。
此外,这里记录的官方错误(如您所提到的):显然测试用例与您在此处提供的相同,因为使用的应用程序Camera.open()
在完全相同的位置遇到问题。
从那里引用:
显然,Camera.open() 本身挂起而不会引起任何异常,因此我无法捕捉和采取任何行动。然后我也不能使用内置的相机应用程序,因为它只提供黑色预览屏幕,稍后会显示我尝试与之交互时无响应的消息。由于在上面的代码片段中已经为空(在程序启动时),所以我无法释放任何东西:没有 camera.release()。
很好,这个问题在最新版本中得到了修复,几天前有一条评论(最后一条,来自 2013 年 7 月 15 日):
感谢您的错误修复,但是对于 2013 年 6 月 22 日之前发布补丁的设备是否有解决方法(这意味着 2013 年 2 月发布的 4.2.2 之后...)
希望我们能在这方面得到更新,所以希望我们能在那里听到有关旧 API 的消息。
此外,我在这里找到了线程(再次提到 SD 卡问题;那里没有太多信息,但无论如何):
从那里引用:
并找到了解决方案:我删除了 SD 卡图像文件夹中的缩略图并重新启动了手机。似乎指示最后一次拍摄的小缩略图窗口是导致应用程序崩溃的原因,由于某种原因,拇指无法加载并且应用程序崩溃了。
然后,在 xda-Developers 上出现了一个名为“4.2 Android camera APK FIX!”的帖子。(不要激动,这仅适用于 ROOTED 设备 :-( ):
从线程中获取的快速说明:
相机 apk:
http ://db.tt/xmpgkZIA
先安装相机apk后将此apk添加到系统/应用程序仅用于手动。
http://db.tt/OZF6D8fL
这是将它们放在系统/lib 修复权限上的 lib 文件,然后重新启动。
http://db.tt/73lcCrcl
http://db.tt/wQ7bfR8N
对于不支持设备的用户,请更改 build.prop 中的以下行并重新启动:
ro.product.model=银河系 ro.product.brand=google
接下来(只是为了向广大公众提及),我在AndroidCentral中发现了这个,只是为了它,它再次是根设备的“修复”。
在 sebertech 网站上,我发现了这个关于 Galaxy S3 的相机问题的帖子,它主要是 TouchWix -链接:
对于受到性能问题困扰的 Galaxy S3 设备,root 是解决这些问题的第一步。但是您必须考虑所涉及的风险,尽管已经有安全的方法来植根手机。但在你真正决定这样做之前,我有一些事情想让你尝试。
- 召回您最近安装的应用程序,尝试禁用它们,看看您的手机性能是否有改进。一些非常繁重的应用程序甚至可能导致或促成了该问题。
- 尝试通过转到主屏幕并按住主屏幕按钮来清除内存。将显示正在运行或最近打开的应用程序列表;您只需向左或向右滑动即可关闭它们。我很确定您已经知道在后台运行这么多应用程序的影响。
限制 Galaxy S3 进程
- 在主屏幕中,按菜单按钮并选择设置。
- 向下滚动并点击开发人员选项。
- 找到“限制后台进程”选项并点击它。
- 限制 Galaxy S3 一次运行大约 4 个进程,或者更少。
清除 TouchWiz 的数据
- 在主屏幕上,点击菜单按钮。
- 选择系统设置然后应用程序管理器
- 向下滚动找到 TW 并点击清除数据。
如果没有其他办法,也许是时候根植您的设备并使用更轻、更快的自定义 ROM 并摆脱 TouchWiz UI。
最后,为了完成这个冗长的答案,我想说,即使我发现很少有修复/解决方法,我真的希望官方错误修复(再次链接,以便再次引用这个东西)是将广泛可用,不仅适用于 4.xx 版本的 Android,很遗憾我们没有适用于旧版本的它(无论如何,旧 API 的错误修复有什么关系?)。