zhanghai / MaterialFiles

Material Design file manager for Android
https://play.google.com/store/apps/details?id=me.zhanghai.android.files
GNU General Public License v3.0
6.05k stars 409 forks source link

crashed when playing movie from smb #686

Open ftpl opened 2 years ago

ftpl commented 2 years ago

您好,首先感谢您开发了这个清爽而强大的app,这是我最近最大的惊喜!如果能基于libfuse加上挂载sshfs/nfs的功能就更完美了(sftp好像要把文件全部下载到本地才能打开,看电影太卡了),之前我只能借助termux/libfuse才能挂sshfs/nfs,但是需要root权限,适用面太窄了。

刚才我在使用smb挂载局域网主机看电影的时候发生了几次MaterialFile崩溃自动退出,主要表现为:观看电影一段时间之后mpv/vlc播放器自动退出,MaterialFiles显示"质感文件已被授予超级用户权限", 我认为应该是这个APP崩溃了。感觉就像smb连接不太稳定或者app耗尽了内存资源。也可能是我在瞎说,因为没有调试能力,只能说一下主观感受以供参考= =!

使用环境: 小米11u @12G+512G miui-13.0.9 @android12 magisk-24.1 me.zhanghai.android.files-1.3.1 @f-droid

播放器: is.xyz.mpv-2021.10.28 @google-play-store org.videolan.vlc-3.4.4 @google-play-store

测试文件: Escape.Plan.2013.BluRay.1080p.TrueHD.Atmos.7.1.x265.10bit-BeiTai.mkv 7.93 GB(7,932,266,064 字节) 雄狮少年.I.Am.What.I.Am.2021.2160p.WEB-DL.H265.DDP5.1.2Audio-OurTV.mkv 7.42 GB(7,423,080,809 字节)

(基本可以排除网络原因,手机连wifi后通过sshfs/nfs挂载可以正常播放。电视有线连接路由器,kodi播放器从smb播放也是正常的。)

zhanghai commented 2 years ago

崩溃的话一般不会被授予 root 权限吧。听起来更像是被杀后台了,虽然标准 Android 的话有一个活跃的 ContentProvider 是不应该被杀的。

如果你能在问题重现后传一份错误报告(adb bugreport)我可以具体看看发生了什么。

ftpl commented 2 years ago

@崩溃的话一般不会被授予 root 权限吧

我的意思是我设置了质感文件的root访问模式为"仅root访问",所以每次启动APP的时候都会显示"质感文件已被授予超级用户权限",也就是说只要出现这个提示,就说明APP重新启动了。我也是由此才认为app被杀了后台。

有一个诡异的问题。我中午插上数据线都准备 adb bugreport了, 还特意找了个17G的大电影,结果放了一中午电影都没能重现问题。然后我换成了小米K40Pro(12G+256G/lineageos-18.1/android11),禁用了对质感文件的电量管理,貌似是到最后有一次断开了,也可能是电影自己放完了,因为我中间快进过,所以不能确定。只能等过几天如果有时间的话,我再试试能不能重现。

zhanghai commented 2 years ago

这样啊,有道理。

好的,那等你重现了。一般来说 bugreport 里面会记载进程被杀的原因,如果拿到的话应该就能知道了。

ftpl commented 1 year ago

现在用的是1.5.2(31) 依然是这个问题,从局域网挂载smb/sshd看电影时不时掉载(如果用vlc自带的挂载功能来打开视频就不会掉线), 还有个新问题,我发现从局域网挂sshd浏览文件很快就掉载,错误信息:

java.lang.ArrayIndexOutOfBoundsException:
src.length=1 srcPos=0 dst.length=256 dstPos=-4 length=1
Mangoes commented 2 months ago

For me the app crashes when copying larger files.

Example : copying a 500 mb file from the smb server to the android 14 phone, the app crashes after copying around 135mb (and only 135mb out of 500 mb are copied).

With another file manager (mixplorer) it works perfectly.