728x90
지금까지 Unity를 이용하여 만든 어플이 실행 중 튕기는 현상이 지속적으로 발생하여 메모리 사용량과 배터리 사용량을 확인할 필요가 있었습니다.
저는 맥북을 사용하여 어플을 제작하였기에 어플을 실행하고 Xcode의
위 빨간 부분을 클릭하니 원했던 정보를 확인할 수 있었습니다.
확인한 결과 위의 사진과 같이 memory가 끝도없이 상승하는 메모리 누수현상을 발견하였습니다. 어플을 실행했을 때 시간이 지난 후 튕기는 현상이 아마 메모리가 계속 증가하다 한계치를 넘었을 때 튕기는 현상이 발생한 듯 합니다.
메모리가 지속적으로 증가하는 이유를 찾기위해 코드를 들여다 보니
private Texture2D CaptureImage()
{
int width = Screen.width;
int height = Screen.height / 3;
Texture2D Texture = new Texture2D(width, height, TextureFormat.RGB24, false);
Texture.ReadPixels(new UnityEngine.Rect(0, 2 * height, width, height), 0, 0);
Texture.Apply();
return Texture;
}
...?!
코드를 함수들로 변경하는 과정에서 이전에 말했던 update 부분에
Texture2D Texture = new Texture2D(width, height, TextureFormat.RGB24, false);
위 코드를 넣어서 생성한 texture를 이용하는 것이 아니라 Update에서 지속적으로 생성하여 메모리 누수 현상이 발생했던 것입니다...
위 코드를
private Texture2D CaptureImage()
{
Texture2D Texture = tex;
int width = Screen.width;
int height = Screen.height / 3;
Texture.ReadPixels(new UnityEngine.Rect(0, 2 * height, width, height), 0, 0);
Texture.Apply();
return Texture;
}
위와 같이 변경하니
문제 해결....
그래도 배운것이 있다면 정신을 잘 차리고 코드를 짜자...
To Be Continued...
'LiDAR' 카테고리의 다른 글
Unity iOS notification (0) | 2024.02.27 |
---|---|
Unity AR iOS LiDAR 활용 (0) | 2024.02.26 |
Unity AR 딥러닝 사용하기 (2) | 2024.02.25 |
Unity AR camera with iOS LiDAR (0) | 2024.02.24 |
Unity AR Raycast 사용하기 (2) | 2024.02.24 |