alps-release-o1.mp2-default/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java
isLowRamDevice = ActivityManager.isLowRamDeviceStatic();
1.作用:返回值是boolean值,用于判断设备是否是一个低内存的设备,如果返回为true则建议开发者减少一些消耗内存的操作。Android规定运行内存小于512M的设备为低内存设备。
2.源码
alps-release-o1.mp2-default/alps/frameworks/base/core/java/android/app/ActivityManager.java
public boolean isLowRamDevice() {
return isLowRamDeviceStatic();
}
/** @hide */
public static boolean isLowRamDeviceStatic() {
return RoSystemProperties.CONFIG_LOW_RAM ||
(Build.IS_DEBUGGABLE && DEVELOPMENT_FORCE_LOW_RAM);
}
3.分析及说明
RoSystemProperties.CONFIG_LOW_RAM
Build.IS_DEBUGGABLE && DEVELOPMENT_FORCE_LOW_RAM
是Android系统对小内存设备的优化的判断
系统规定内存小于512M的设备被定义为小内存设备,并要求移动应用对小内存设备进行相应的优化。
但是不建议修改,以免影响一些优质应用对小内存设备的优化效果
4.了解过作用后,我们看看实现,如果客户需要在andoid Go 上把近期任务列表修改为层叠效果,可以直接在源码中把它注释掉。
//isLowRamDevice = ActivityManager.isLowRamDeviceStatic();
我们先看一下原始效果图:
修改后的效果图:
补充总结:
bug: (近期应用) 点击近期应用按钮,清除图标很久才出现
其实这个是需要滑动到底部才会显示清理图片,属于正常的现实,这是默认设置如此,但是测试认为这是一个,他们对比的是N平台之前的手机,N之后的手机都是这样设计的,不过如果需要修改的话也是可以的。Go上的代码路径如下:
alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
修改内容如下:
private void updateStackActionButtonVisibility() {
// modified for Clear icon for a long time 2018/7/23 begin
//由于它属于isLowRamDevice,所以我们先把它注释掉,不然不会走下去
/* if (Recents.getConfiguration().isLowRamDevice) {
return;
}*/
// Always show the button in grid layout.注释掉滑动的代码,就可以让清理按钮直接显示了
if (useGridLayout() ||
(/*mStackScroller.getStackScroll() < SHOW_STACK_ACTION_BUTTON_SCROLL_THRESHOLD &&*/
mStack.getTaskCount() > 0)) {
EventBus.getDefault().send(new ShowStackActionButtonEvent(false /* translate */));
} else {
EventBus.getDefault().send(new HideStackActionButtonEvent());
}
}
// modified for Clear icon for a long time 2018/7/23 end