Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
非常电池友好的应用程序/小部件(Android)_Android_Android Widget_Power Management - Fatal编程技术网

非常电池友好的应用程序/小部件(Android)

非常电池友好的应用程序/小部件(Android),android,android-widget,power-management,Android,Android Widget,Power Management,我一直在四处张望,我变得好奇起来 我想知道是否有什么东西通常应用于android应用程序,以确保它们不会变得耗电。例如,通常添加的代码部分,以确保应用程序在退出时一路关闭 我能做的最好的实践代码是什么,以确保我的应用程序/小部件不会耗尽电池寿命 例如,让我们假设我的应用程序是一个信息丰富的应用程序,具有一点用户交互或一个简单的Widget而不是游戏等。如果您调查电池消耗情况,您会发现大部分电量都被wifi、蓝牙、启用GPS、,系统和显示器。因此,在开发应用程序时,用户应检查其使用资源的方式。在退

我一直在四处张望,我变得好奇起来

我想知道是否有什么东西通常应用于android应用程序,以确保它们不会变得耗电。例如,通常添加的代码部分,以确保应用程序在退出时一路关闭

我能做的最好的实践代码是什么,以确保我的应用程序/小部件不会耗尽电池寿命


例如,让我们假设我的应用程序是一个信息丰富的应用程序,具有一点用户交互或一个简单的Widget而不是游戏等。

如果您调查电池消耗情况,您会发现大部分电量都被wifi、蓝牙、启用GPS、,系统和显示器。因此,在开发应用程序时,用户应检查其使用资源的方式。在退出应用程序时,也可调用finish(完成)以释放一些资源。如果您调查电池消耗情况,您会发现大部分电量都消耗在wifi、蓝牙、启用GPS、,系统和显示。因此,在开发应用程序时,应该由用户检查他是如何使用资源的。在退出应用程序时也可以调用finish来释放一些资源。我认为最好的做法是:不要犯愚蠢的错误。当然,这看起来很难

一路关闭不是你需要考虑的事情。你应该尽可能少地占用内存。不是因为它需要电池,而是因为你用的越少,内存中的程序就越多,所以关闭的程序就越少!并且可以在不太麻烦的情况下启动。重新加载东西是昂贵的,而将其保存在内存中则不是! 请注意,服务后台进程、警报等代价高昂,因为它实际上可以在看不到的情况下执行某些操作。一定要把它们关上。 应该有更新、加载等的后台内容应该使用尽可能少的资源,就像正常使用一样 正常使用:使用少量资源,如网络、位置等。它有点像你想的那样工作。此外,您使用的内存越少,其他程序可以保留的内存越多,电池寿命越短。
我认为最好的做法是:不要犯愚蠢的错误。当然,这看起来很难

一路关闭不是你需要考虑的事情。你应该尽可能少地占用内存。不是因为它需要电池,而是因为你用的越少,内存中的程序就越多,所以关闭的程序就越少!并且可以在不太麻烦的情况下启动。重新加载东西是昂贵的,而将其保存在内存中则不是! 请注意,服务后台进程、警报等代价高昂,因为它实际上可以在看不到的情况下执行某些操作。一定要把它们关上。 应该有更新、加载等的后台内容应该使用尽可能少的资源,就像正常使用一样 正常使用:使用少量资源,如网络、位置等。它有点像你想的那样工作。此外,您使用的内存越少,其他程序可以保留的内存越多,电池寿命越短。
从长远来看,调用finish退出应用程序将消耗比允许Android管理应用程序更多的电池电量。这是因为下次启动应用程序时,必须将其重新加载到内存中,并且任何特定于应用程序的初始化都需要再次进行,而不仅仅是重新激活。@RivierKid您是在应用程序将被重新加载的假设下工作的。对于您开发的每个应用程序来说,这可能都不是真的。如果应用程序不经常使用,将其加载到RAM上只意味着使用频率最高的应用程序可能会被替换掉。@先生-虽然这个特殊的边缘案例似乎有利于退出你的应用程序,事实上,Android内存管理器已经维护了应用程序的LRU列表,并且更愿意将您最常使用的应用程序保存在内存中。我要说的是,如果你正在编写一个打算很少使用的应用程序或任何应用程序,真的,即使我每天都在使用它,但当你使用它时,资源管理非常糟糕,以至于你需要猜测操作系统并尝试手动释放资源,那么这不是我想使用的应用程序。调用finish退出你的应用程序会,从长远来看,最终消耗的电池电量比允许Android管理应用程序还要多。这是因为下次启动应用程序时,必须将其重新加载到内存中,并且任何特定于应用程序的初始化都需要再次进行,而不仅仅是重新激活。@RivierKid您是在应用程序将被重新加载的假设下工作的。对于您开发的每个应用程序来说,这可能都不是真的。如果应用程序不经常使用,将其加载到RAM中只意味着使用频率最高的应用程序可能会被替换。@先生-虽然这个特殊的edge案例似乎有利于退出应用程序,但事实上Android内存管理器已经维护了应用程序的LRU列表 并且更愿意将那些你最常使用的应用程序保存在内存中。我要说的是,如果你正在编写一个打算很少使用的应用程序或任何应用程序,真的,即使我每天都使用它,但当你使用它时,管理资源的能力非常差,以至于你需要猜测操作系统并尝试手动释放资源,那么我不想把我的名字放在这个应用程序上。