Skip to content

Consider using dlsym/dlopen on Android embedding to dynamically use NDK API. #62166

@dnfield

Description

@dnfield

Certain NDK APIs are available at higher versions than we currently support, for example one can access the AChoreographer on API 24+ (whereas we support API 16+), and proposed image decoding APIs would enable expanded support for image formats without a JNI hop.

It should be possible to use dlopen/dlsym to dynamically use these methods if they are available.

I suspect that we could improve performance by avoiding a JNI hop on each vsync by accessing the choreographer dynamically from C++ when API >= 24. That would be an interesting case to prove out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityc: performanceRelates to speed or footprint issues (see "perf:" labels)engineflutter/engine related. See also e: labels.perf: speedPerformance issues related to (mostly rendering) speedplatform-androidAndroid applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions