有些游戏要下很大的数据,又非得让你挂在前台跟傻子一样等,切到后台就暂停
是技术上有难题吗?
到底是为什么? 难道是为了提高前台的运行时间?利益相关吗?
1
sundae91 2018-07-23 15:43:59 +08:00
技术问题。
应该是指手游更新吧。 ios 不用多说?退出后台后,基本程序随时可能被杀死。 android 相对好一些,有技巧。但是后台下载大文件依旧不稳定,不可控因素太多,比如被系统进程杀掉,其他应用需要内存导致游戏内存被释放等等。重新下载或者断点下载还算好的,导致数据冲突等就更麻烦。 |
2
murmur 2018-07-23 15:45:12 +08:00
后台下载你又骂他偷跑流量
|
3
RiESA OP |
4
RiESA OP 主题有点描述的不清楚,补充一下,主题内容指手游更新
这里的后台指的不是没有主动启动 app,自动帮你下载数据 而是你自己启动开始更新后,不关闭的情况下,切换到其他 app 会停止下载 |
5
Mutoo 2018-07-23 15:53:12 +08:00
用于网络连接的 socket 属于系统资源,当 APP 切换至后台后,系统有权直接回收 APP 占用的 socket 资源,所以 iOS 的开发文档指出开发者需要自己维护进入后台时断开链接以及重新回到 APP 后的重连。
|
6
murmur 2018-07-23 16:01:02 +08:00
游戏这种占内存的东西放哪里都是优先回收内存的对象吧
|
7
RiESA OP |
8
ysc3839 2018-07-23 16:15:11 +08:00 via Android
Android 系统有提供下载管理程序,用这个下载就能后台的。但实际上很多程序就不用。
|
9
enenaaa 2018-07-23 16:18:46 +08:00
以前我做得时候是要求后台下载, 其实也不麻烦。
|
10
RiESA OP |
12
Rekkles 2018-07-23 16:28:43 +08:00
并不是 手机端切换后台之后,进程基本是类似被 freeze ( QQ 和微信需要更多权限才能后台接收消息,即使是这样也不可靠,我的手机就经常联网收不到微信),这时候 socket 基本是挂了。。。
而且还有内存丢失,导致有些游戏还需要重新去考虑镜像复制加载,这是手机端机制的问题,并不是厂商恶意为之 |
13
sunny352787 2018-07-23 16:31:24 +08:00
Unity 的游戏吧? Unity 默认切后台暂停...一般程序员都懒,所以就那么着了
|
14
RiESA OP @Rekkles 受教了,我个人不是 app 开发者,只是玩游戏的时候觉得这个等待很 ZZ,
综合上面几位的说法,我大概可以理解为,办法有,但是实现很麻烦,所以很多游戏就干脆不管了是么? 个人真的感觉太影响用户体验了 |
16
nciyuan 2018-07-23 16:46:08 +08:00 via Android
@ysc3839 我就见过系统更新和谷歌翻译两款 APP 用过,所以其实也主要是怕直接获取信息,特别是下载管理你可以直接点击打开,看看里面更新了啥,这不就是给做外挂的一条捷径吗?
|
18
sunny352787 2018-07-23 16:54:59 +08:00
@RiESA 就是懒,没别的,因为后台下载功能游戏引擎都不带,也没人愿意浪费时间在这个上面
|
19
guyeu 2018-07-23 17:21:25 +08:00
别的不知道 android 普遍的一个问题是进程切后台之后网络连接就被断掉了,连心跳都做不到何况跑下载(特指引擎内)。
|
20
sampeng 2018-07-23 17:29:39 +08:00
第一是机制问题。。第二楼上说了。。如果真用一些技巧这样做了。
你又要骂 XXX 傻逼,偷偷跑流量更新 |
22
est 2018-07-23 17:45:48 +08:00
iOS 有完全的不需要启动 app 就能下载的机制。
Android 由于被阉了一刀导致各自为战。 |
23
chengyiqun 2018-07-24 08:35:11 +08:00
完全是开发商懒不懒的问题,少女前线下载数据包的时候切换后台好好的。
|
24
chengyiqun 2018-07-24 13:57:24 +08:00
@ysc3839 很多游戏需要热更新的,需要把数据下到自己的私有存储区 /data/data/packageName 里,系统的下载器是不行的,如果只是下载 obb 数据包,当然可以直接调用系统下载器。
|
25
ysc3839 2018-07-24 14:10:19 +08:00 via Android
@chengyiqun 我不确定下载管理程序是否能下载到私有空间内。但从 Google Play 来看应该是可以的。
|
26
chengyiqun 2018-07-25 13:26:06 +08:00
@ysc3839 那个一般下载的是全量包数据包,我说的是热更新包,比如就改了几个脚本的那种更新,人家会从自己的服务器下载,而非 play 商店。
|
27
ysc3839 2018-07-25 13:47:17 +08:00 via Android
@chengyiqun 我说的是 Google Play 这个应用可以做到下载文件到私有空间内。
|