java - 电池使用,会发生什么?

标签 java android multithreading performance power-management

我正在为 Android 制作 2D 游戏,我最近一直在研究优化。

我查看了“设置”中的电池使用情况,发现将游戏留在前台(屏幕打开)一个多小时后,我已经耗尽了 11% 的电池电量 (Motorola Xoom Honeycomb)。

这是用户对手机/平板电脑游戏的期望吗?

一些信息:

  • 我的游戏使用 Opengl-es 进行渲染(连续渲染)

  • 逻辑在单独的线程中运行以提高性能。

  • 我使用了 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);认为这是必要的,因为游戏需要用户花一些时间思考。

  • 简单粒子

那么,这样的电池消耗对于游戏来说是正常的吗?

我可以采取哪些措施来减少电池消耗?

最佳答案

单独保持屏幕打开(不运行游戏)会产生类似的电池使用情况。

我对您的建议是,只要您的游戏暂停,或者如果用户在 X 时间内没有触摸屏幕,而不是让屏幕保持全亮度,就将屏幕设置为暗。

您可以通过调整屏幕亮度/按钮亮度来做到这一点,

这些字段的范围是0->1

可以看到设置这个here的Context

关于java - 电池使用,会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9217783/

相关文章:

java - 过滤消息正文,我强制关闭

android - flutter 意外退出

android - ViewGroup onLayout问题

c - 如何在linux eclipse中创建线程并使用sleep功能?

python - Dask:非常低的 CPU 使用率和多线程?这是预期的吗?

java - 正则表达式捕获第一个冒号 : and the last square brackets having colon : in it 之间的单词

java - Java 中的 "implements Runnable"与 "extends Thread"

java - 作业: How to sort an Array List of String coming from a file

android - 如何使用 'CMakeLists.txt' 中的 add_library 将整个文件(.cpp、.h 等)包含在目录中

windows - 如何在Windows中找到特定线程的入口点?