我正在通过Intent拍照。在像三星这样大约750 MB内存的手机中,该应用程序在拍摄照片后突然关闭。当我在logcat中看到该事件时,它显示如下:
ViewRootImpl #2 Surface is not valid
这是什么意思,我该如何纠正它。我测试的其他手机中没有发生此错误,这仅限于通过意图拍摄照片。因为,我也在三星手机上拍摄视频,而且它完美无瑕。 场景是: 我的应用程序已开始 - >我按下按钮拍摄照片 - >拍摄照片.->据说Pic已保存 - >现在,应用程序只是在没有任何通知的情况下关闭而不是显示图库,并且在拍摄照片和保存之间存在明显的延迟。
注意:Pic通过赋予它的EXTRA_OUTPUT意图保存到内部存储。
答案 0 :(得分:0)
在您在多个设备中拍摄照片后,活动会自行销毁(因为更改了它的方向),请尝试将以下行添加到清单文件中:
input_encoding = locale.getpreferredencoding()
u_di = di.decode(input_encoding)
m = magic.Magic(magic_file='magic') # only needs to be initialised once
for f in os.listdir(u_di):
fq_f = os.path.join(u_di, f)
utf16_fq_f = fq_f.encode("UTF-16LE")
print m.from_file(utf16_fq_f)