미니 그러고보니 안드로이드 달빅관련해서는 나아졌나요?
- 긴닉네임2002250504
- 조회 수 710
- 2021.10.09. 22:16
이제는 art가 기본인거같은데요 (참고로 주서들은겁니다 근데 궁금해서요..)
주워듣기로는 안드로이드는 리눅스에서 에뮬레이터처럼 안드로이드를 실행시켜서 좀 버벅일수있다는 얘기가 옜날에 있었잔아요? 이런 비스므리한 얘기?
안드로이드12까지왔는데 이런부분은 좀나아졌나 싶어서요
안드12까지왔는데 이제 버벅이는거나 게임관련해서는 ios와 비슷한거죠??
달빅이랑 ART가...음... 가상머신입니다. 안드로이드가 자바 언어를 쓰기 때문에 이 파일을 컴파일하는 머신들인데 둘 다 자바가상머신 라이센스 비용 때문에 개발 된 겁니디. 달빅이 JIT 파일로 앱을 설치하고 실행 할 때 실시간으로 기계를 컴파일하면서 램을 오지게 쳐먹고 느려터졌던거랑 다르게 ART는 앱을 설치할 때 기계어를 미리 컴파일 변환 한 상태로 설치하는 AOT 방식으로 실행할 때 컴파일 된 채로 불러오면서 램도 적게 먹고 중간에 언어를 컴파일하면서 생기는 딜레이도 줄여서 앱 실행 속도를 올려주는 보다 개선 된 방식이죠. 달빅 대비 단점이라면 설치할 때 다 언어를 컴파일 시키기 때문에 달빅보다 설치가 오래 걸리고 파일들을 풀어놔서 저장공간을 2배 정도 더 먹는다는게 단점인데 이건 뭐 요즘 폰들 용량이 커져서 문제랄 것 도 없는 부분이죠. 다만 제가 알기론 안드로이드는 강제 돼있는 툴이 없어서 아직도 달빅처럼 개발되는 앱들이 많은 걸로 압니다. 삼성 굿가디언즈의 앱 부스터가 이런 JIT 파일의 앱들을 AOT로 바꿔놓는 작업을 하는 앱이죠... 무엇보다 근본적으로 안드로이드가 정상적인 속도를 뽑아주려면 하드웨어 자원을 낭낭하게 쳐먹는 자바가상머신을 버려야 합니다. 그리고 게임 관련은 이런 부분이 개선돼도 애플은 GPU 자원을 효율적으로 사용하는 메탈 API로 앱을 개발하는게 강제지만 안드는 아직도 오픈 GL과 불칸 중 택 1이라(개발이 용이한 오픈 GL은 효율이 똥이고 개발이 어려운 불칸은 메탈 API처럼 효율이 좋습니다.) ios 대비 확실히 딸립니다.
음....달빅이랑 ART가 자바 언어용 가상머신인건 맞는데요. 기본적으로 안드로이드가 자바 언어를 안 쓰면 저 프로그램들 자체가 불필요해지죠. 자바 언어 빼는 건 구글이 애플처럼 다 갈아엎으라고 개발자들한테 강제하면 불가능한 건 아닙니다. 물론 이 과정이 불가능에 가깝긴 합니다만 애플이 맥북 ARM으로 넘어가면서 개발자들한테 ARM용으로 프로그램 갈아엎으라고 한 것처럼 강제하면 어찌어찌되긴해요. 아마 윈도우11처럼 상당수의 레거시를 버려야 하겠지만요.
그리고 비유거 잘못된게 ios랑 안드는 똑같이 공부하기 복잡하지만 배우면 쓸모있는 교육과정을 가지고 있는데 학생들한테 애플은 너 이거 공부 안 하면 사형(스토어 벤)이야를 시전하는거고 구글은 아 이런게 있는데 배우면 좋은디 뭐 네 알아서 혀 느낌입니다. 애초에 원신같은 것만봐도 ios에서는 강제라 메탈로 잘 만들고 안드는 개판 5분 전이죠. 미호요 정도 규모면 안드에서건 ios에서건 특수부대가 가능한데 그냥 저냥 조건 맞춰서 최대한 일 안하고 노는거죠.
JVM 말하시는 거면 게임은 C#이라서 나은 편이고,
다른 앱들은 아직 갈길이 멉니다..
그나마 코틀린이 자바보다 최적화가 잘되어 있기도 하고,
코틀린 컴파일도 지원합니다.
C++로 코딩도 가능하고요, C++ + QT 조합도 가능한 걸로 압니다.