Android O和Android P在绘制界面时默认使用的是不同的库进行绘制的

  • Android O是通过使用opengl进行绘制

    • frameworks/base/libs/hwui/Properties.cpp
    RenderPipelineType Properties::getRenderPipelineType() {    if (sRenderPipelineType != RenderPipelineType::NotInitialized) {        return sRenderPipelineType;    }    char prop[PROPERTY_VALUE_MAX];    property_get(PROPERTY_RENDERER, prop, "opengl");    if (!strcmp(prop, "skiagl")) {        ALOGD("Skia GL Pipeline");        sRenderPipelineType = RenderPipelineType::SkiaGL;    } else if (!strcmp(prop, "skiavk")) {        ALOGD("Skia Vulkan Pipeline");        sRenderPipelineType = RenderPipelineType::SkiaVulkan;    } else {  //"opengl"        ALOGD("HWUI GL Pipeline");        sRenderPipelineType = RenderPipelineType::OpenGL;    }    return sRenderPipelineType;}
  • Android P是通过使用skiagl进行绘制

    • frameworks/base/libs/hwui/Properties.cpp
    RenderPipelineType Properties::getRenderPipelineType() {    if (sRenderPipelineType != RenderPipelineType::NotInitialized) {        return sRenderPipelineType;    }    char prop[PROPERTY_VALUE_MAX];    property_get(PROPERTY_RENDERER, prop, "skiagl");    if (!strcmp(prop, "skiagl")) {        ALOGD("Skia GL Pipeline");        sRenderPipelineType = RenderPipelineType::SkiaGL;    } else if (!strcmp(prop, "skiavk")) {        ALOGD("Skia Vulkan Pipeline");        sRenderPipelineType = RenderPipelineType::SkiaVulkan;    } else {  //"opengl"        ALOGD("HWUI GL Pipeline");        sRenderPipelineType = RenderPipelineType::OpenGL;    }    return sRenderPipelineType;}
  • Android在9.0后的版本中默认使用skiagl替换

更多相关文章

  1. android canvas 绘制bitmap并保存到本地
  2. Android调用默认浏览器打开指定Url
  3. android自定义View-垂直滚动的TextView
  4. android 限制EditText输入数字的范围大小
  5. android微信window.location.reload失效
  6. Android(安卓)升级Android(安卓)X 所需要替换的包(一)
  7. android的edittext默认不获得焦点
  8. React Navigation-StackNavigator
  9. Android麦克风录音带音量大小动态显示的圆形自定义View

随机推荐

  1. Android(安卓)Studio 项目模板修改
  2. 如何不让EditText不获得焦点
  3. android String.xlm中使用emoji表情的方
  4. Android的Multilib Build
  5. Flutter
  6. View的绘制流程梳理
  7. 【Android开发经验】兼容不同的屏幕大小(
  8. 在android中使用文件进行数据存储
  9. android用Intent传输自定对象数组(Parcel
  10. ActionBar使用