为什么那么多游戏的数据下载,无法后台

2018-07-23 15:33:43 +08:00
 RiESA

有些游戏要下很大的数据,又非得让你挂在前台跟傻子一样等,切到后台就暂停

是技术上有难题吗?

到底是为什么? 难道是为了提高前台的运行时间?利益相关吗?

6483 次点击
所在节点    游戏开发
27 条回复
sundae91
2018-07-23 15:43:59 +08:00
技术问题。
应该是指手游更新吧。
ios 不用多说?退出后台后,基本程序随时可能被杀死。
android 相对好一些,有技巧。但是后台下载大文件依旧不稳定,不可控因素太多,比如被系统进程杀掉,其他应用需要内存导致游戏内存被释放等等。重新下载或者断点下载还算好的,导致数据冲突等就更麻烦。
murmur
2018-07-23 15:45:12 +08:00
后台下载你又骂他偷跑流量
RiESA
2018-07-23 15:47:40 +08:00
@sundae91 IOS 个人不清楚,但是安卓的话,应该没有这个问题吧
@murmur 不是一个概念啊,我游戏更新,不退出,就切到其他 app,下载就停了,和没启动他后台悄悄帮我更新不是一个概念
RiESA
2018-07-23 15:49:39 +08:00
主题有点描述的不清楚,补充一下,主题内容指手游更新
这里的后台指的不是没有主动启动 app,自动帮你下载数据
而是你自己启动开始更新后,不关闭的情况下,切换到其他 app 会停止下载
Mutoo
2018-07-23 15:53:12 +08:00
用于网络连接的 socket 属于系统资源,当 APP 切换至后台后,系统有权直接回收 APP 占用的 socket 资源,所以 iOS 的开发文档指出开发者需要自己维护进入后台时断开链接以及重新回到 APP 后的重连。
murmur
2018-07-23 16:01:02 +08:00
游戏这种占内存的东西放哪里都是优先回收内存的对象吧
RiESA
2018-07-23 16:08:08 +08:00
@murmur 我感觉和内存没有必然联系,游戏前台启动了更新,但是游戏资源什么的还没加载的,自然不会有大内存占用,嘛,如果真的是更新的时候占用的资源和游戏过程一样,那么我觉得优化是有问题的
@Mutoo 大概了解了,感谢
ysc3839
2018-07-23 16:15:11 +08:00
Android 系统有提供下载管理程序,用这个下载就能后台的。但实际上很多程序就不用。
enenaaa
2018-07-23 16:18:46 +08:00
以前我做得时候是要求后台下载, 其实也不麻烦。
RiESA
2018-07-23 16:24:16 +08:00
@enenaaa
@ysc3839
技术上没有问题的话,我感觉是不是利益相关的可能性大一点?
国产 app,貌似有利用启动时间之类的来考量一些利益相关的东西?不太确定有没有区分前后台
w3sy
2018-07-23 16:27:57 +08:00
@sundae91 iOS App 有系统提供的后台下载进程,不会被杀死的,只是有的游戏没有实现而已
Rekkles
2018-07-23 16:28:43 +08:00
并不是 手机端切换后台之后,进程基本是类似被 freeze ( QQ 和微信需要更多权限才能后台接收消息,即使是这样也不可靠,我的手机就经常联网收不到微信),这时候 socket 基本是挂了。。。
而且还有内存丢失,导致有些游戏还需要重新去考虑镜像复制加载,这是手机端机制的问题,并不是厂商恶意为之
sunny352787
2018-07-23 16:31:24 +08:00
Unity 的游戏吧? Unity 默认切后台暂停...一般程序员都懒,所以就那么着了
RiESA
2018-07-23 16:32:51 +08:00
@Rekkles 受教了,我个人不是 app 开发者,只是玩游戏的时候觉得这个等待很 ZZ,
综合上面几位的说法,我大概可以理解为,办法有,但是实现很麻烦,所以很多游戏就干脆不管了是么?
个人真的感觉太影响用户体验了
Rekkles
2018-07-23 16:35:49 +08:00
@RiESA 投入和回报不成正比,而且需要高权限,增加耗电、发热等都是隐患(万一被人恶意抓辫子就完了)
nciyuan
2018-07-23 16:46:08 +08:00
@ysc3839 我就见过系统更新和谷歌翻译两款 APP 用过,所以其实也主要是怕直接获取信息,特别是下载管理你可以直接点击打开,看看里面更新了啥,这不就是给做外挂的一条捷径吗?
RiESA
2018-07-23 16:47:33 +08:00
@nciyuan 这个我倒是觉得并没有什么问题吧,毕竟要知道下载文件的地址什么的这些直接抓包也行的
sunny352787
2018-07-23 16:54:59 +08:00
@RiESA 就是懒,没别的,因为后台下载功能游戏引擎都不带,也没人愿意浪费时间在这个上面
guyeu
2018-07-23 17:21:25 +08:00
别的不知道 android 普遍的一个问题是进程切后台之后网络连接就被断掉了,连心跳都做不到何况跑下载(特指引擎内)。
sampeng
2018-07-23 17:29:39 +08:00
第一是机制问题。。第二楼上说了。。如果真用一些技巧这样做了。
你又要骂 XXX 傻逼,偷偷跑流量更新

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/473340

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX