进度条在省电模式下消失 (Android 5.x)?
Progressbar disappears in battery saver mode (Android 5.x)?
我注意到在 Android 5.x 中启用省电模式(由用户或自动)时 - 应用程序中的进度条会消失。
没有动画,没有静态进度条小部件 - 只是空地方。
如何预防?我了解 Battery saver 会禁用某些系统动画,但进度条实际上是应用程序的重要组成部分 UI。
以防万一 - 实现 ProgressBar 布局的代码:
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/refresh_bar"
android:layout_alignParentTop="true"
android:indeterminate="true"
android:visibility="gone"
android:layout_marginTop="@dimen/progress_bar_top_margin" />
以及它是如何在我的片段中实现的 class:
public class FeedFragment extends Fragment {
...
// Progressbar to show refreshing state
private ProgressBar mRefreshBar;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_feed, container, false);
...
// Initialize and locate Refreshing progress bar
mRefreshBar = (ProgressBar) v.findViewById(R.id.refresh_bar);
...
mRefreshBar.setVisibility(View.VISIBLE);
...
}
...
}
此外,我在应用程序中的所有进度条都遇到了这个问题,而不仅仅是这个。
禁用节电模式时 - 一切正常。
启用省电模式后,设备上的每个应用程序都会出现相同的问题。
因为省电模式可延长电池寿命,因此您可以使用 phone 直到有机会为它充电。它发生在每个应用程序上。所以不用担心。
How to prevent that?
在“设置”中禁用省电模式,然后重新启动设备。或者您可以请求用户 permission 禁用它。
How to prevent that?
ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 允许您请求用户允许您的应用忽略电池优化,我还没有尝试过,但似乎是合法的。
我注意到在 Android 5.x 中启用省电模式(由用户或自动)时 - 应用程序中的进度条会消失。
没有动画,没有静态进度条小部件 - 只是空地方。
如何预防?我了解 Battery saver 会禁用某些系统动画,但进度条实际上是应用程序的重要组成部分 UI。
以防万一 - 实现 ProgressBar 布局的代码:
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/refresh_bar"
android:layout_alignParentTop="true"
android:indeterminate="true"
android:visibility="gone"
android:layout_marginTop="@dimen/progress_bar_top_margin" />
以及它是如何在我的片段中实现的 class:
public class FeedFragment extends Fragment {
...
// Progressbar to show refreshing state
private ProgressBar mRefreshBar;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_feed, container, false);
...
// Initialize and locate Refreshing progress bar
mRefreshBar = (ProgressBar) v.findViewById(R.id.refresh_bar);
...
mRefreshBar.setVisibility(View.VISIBLE);
...
}
...
}
此外,我在应用程序中的所有进度条都遇到了这个问题,而不仅仅是这个。 禁用节电模式时 - 一切正常。
启用省电模式后,设备上的每个应用程序都会出现相同的问题。
因为省电模式可延长电池寿命,因此您可以使用 phone 直到有机会为它充电。它发生在每个应用程序上。所以不用担心。
How to prevent that?
在“设置”中禁用省电模式,然后重新启动设备。或者您可以请求用户 permission 禁用它。
How to prevent that?
ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 允许您请求用户允许您的应用忽略电池优化,我还没有尝试过,但似乎是合法的。