Skip to content

[Android] Memory is not released on CloseMedia #2389

@rhduwe

Description

@rhduwe

Unity version

6000.2.11f1

Unity editor platform

Windows

AVPro Video edition

Ultra

AVPro Video version

3.3.3

Device hardware

Meta Quest 3

Which Android OS version are you using?

14

Unity Graphics API

Vulkan

Video API

media3/ExoPlayer

Texture format

BGRA

Audio output

System Direct

Any other Media Player component configuration required to reproduce the issue.

No response

Which output component(s) are you using?

Apply to Mesh

Any other component configuration required to reproduce the issue.

No response

The issue

When we open the media file, the Quest allocates a certain amount of memory (I'm assuming this is managed by the ExoPlayer/Media player, as it is marked as "Untracked" in Unity's memory profiler). The expectation is that when we close the media, this memory will be released.
However, this is not the case, and the memory footprint will keep increasing until the app crashes, which can happen quickly when dealing with 8k videos.
The memory does get released when the player component is destroyed.
This is reproducible with ExoPlayer and MediaPlayer both, whether the video is rendered in unity or not. It doesn't happen when using the XR Composition Layer output mode.
I have also tested this on OpenGLES, and there the problem exists, but is not that severe – while the memory doesn't get released on close, it also doesn't increase with each file load.

Memory profiler overview
Image


Untracked memory details
Image

This might be related to part 3 of this issue.

Media information

No response

Logcat output

Metadata

Metadata

Labels

AndroidAndroid platformBug 🐛Something isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions