qq_26763799 2016-09-06 05:53 采纳率: 0%
浏览 1

有关于后台服务的问题?

app中有个功能,玩家通过我们app启动另一款应用(大部分是游戏类,所以比较占内存),我们app开启后台服务倒计时计算用户使用时长,当到达规定时间就发放奖励,但是当内存紧张或者回收机制比较霸道的手机上,总会失效,用户经常反应玩了规定时长,还是拿不到奖励,有没有什么能优化的方法或者地方或建议?

  • 写回答

1条回答 默认 最新

  • 刘兆贤 博客专家认证 2016-09-08 07:41
    关注

    玩家时间,建议使用token+游戏包名+毫秒的方式保存

    关于后台倒计时,最霸道的做法,我们可以开一个进程:里面专门运行一个Service来做这个倒计时功能,使用Aidl的方式操作,Service要开放权限给到你的主进程。一个进程比如只有24M,你本进程即使死掉,它依然可以运行,下次进来继续从此进程中读取用户时间。

    其次,你可以把发放奖励的玩家时长配置到文件中,然后判断只要应用未关闭就执行倒计时,并叠加写入文件,比如隔2s就写入文件中,这样即使下次重启,你也可以提取出上次玩家玩的时间,继续执行倒计时-当然可以存在sd卡、内存卡、数据库、SharePre甚至网络服务器端

    最后,如果能把你们耗时的程序打成so包运行,或者放到其他进程运行,把自己的应用内存消耗减至最少,可以使用RxJava的schedule方法操作,
    这样给用户奖励的事情,最好将时长写入文件来配置比较靠谱,当然最靠谱的是写入服务端数据库,这样可以有效保护用户的权益,减少对用户权益
    的损害。

    评论

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?