광고 닫기

원활한 멀티태스킹을 위해 휴대폰에 필요한 이상적인 RAM 용량은 꽤 논쟁의 여지가 있는 주제입니다. Apple은 iPhone의 크기가 작아서 Android 솔루션보다 더 유용할 때가 많습니다. 또한 iPhone에서는 RAM 메모리 관리 기능을 찾을 수 없지만 Android에는 이를 위한 전용 기능이 있습니다. 

예를 들어 Samsung Galaxy 휴대폰으로 이동하면 나 스타 베니 -> 기기 관리, 여기에서 여유 공간과 점유 공간에 대한 정보가 포함된 RAM 표시기를 찾을 수 있습니다. 메뉴를 클릭하면 각 응용 프로그램이 사용하는 메모리 양을 확인할 수 있으며 여기에서 메모리를 지울 수도 있습니다. RAM Plus 기능도 여기에 있습니다. 그 의미는 가상 메모리로 사용할 내부 저장소에서 특정 GB 수를 물어뜯는다는 것입니다. iOS에서 이와 같은 것을 상상할 수 있습니까?

스마트폰은 RAM에 의존합니다. 운영 체제를 저장하고, 응용 프로그램을 시작하고, 일부 데이터를 캐시 및 버퍼 메모리에 저장하는 역할을 합니다. 따라서 RAM은 애플리케이션을 배경에 놓고 잠시 후 다시 열어도 애플리케이션이 원활하게 실행될 수 있도록 구성하고 관리해야 합니다.

스위프트 대. 자바 

하지만 새 애플리케이션을 시작할 때 이를 로드하고 실행하려면 메모리에 여유 공간이 있어야 합니다. 그렇지 않은 경우 해당 장소를 비워야 합니다. 따라서 시스템은 이미 시작된 응용 프로그램과 같은 일부 실행 프로세스를 강제로 종료합니다. 그러나 두 시스템, 즉 Android와 iOS는 RAM과 다르게 작동합니다.

iOS 운영 체제는 Swift로 작성되었으며 iPhone은 실제로 닫힌 앱에서 사용한 메모리를 시스템으로 다시 재활용할 필요가 없습니다. 이는 iOS가 구축된 방식 때문입니다. iOS는 iPhone에서만 실행되기 때문에 Apple이 iOS를 완전히 제어할 수 있기 때문입니다. 이에 반해 안드로이드는 자바로 작성되어 많은 기기에서 사용되기 때문에 좀 더 보편적일 수밖에 없습니다. 응용 프로그램이 종료되면 차지한 공간은 운영 체제로 반환됩니다.

네이티브 코드와 JVM 

개발자가 iOS 앱을 작성할 때 iPhone 프로세서에서 실행할 수 있는 코드로 직접 컴파일합니다. 이 코드는 실행하는 데 해석이나 가상 환경이 필요하지 않기 때문에 네이티브 코드라고 합니다. 반면 안드로이드는 다릅니다. Java 코드가 컴파일되면 프로세서 독립적인 Java 바이트코드 중간 코드로 변환됩니다. 따라서 다양한 제조업체의 다양한 프로세서에서 실행될 수 있습니다. 이는 크로스 플랫폼 호환성에 큰 이점이 있습니다. 

물론 단점도 있습니다. 각 운영 체제와 프로세서 조합에는 JVM(Java Virtual Machine)이라는 환경이 필요합니다. 그러나 네이티브 코드는 JVM을 통해 실행되는 코드보다 더 나은 성능을 발휘하므로 JVM을 사용하면 애플리케이션에서 사용하는 RAM의 양이 늘어납니다. 따라서 iOS 앱은 평균 40% 정도 더 적은 메모리를 사용합니다. 이것이 바로 Apple이 iPhone에 Android 기기만큼 많은 RAM을 장착할 필요가 없는 이유이기도 합니다. 

.