Android 휴대폰의 남은 메모리를 관리하는 방법

원본 포스터: 하쿠레이 레이무 조회수: 1130 답글: 1 에 게시됨: 2012-03-04 18:57:20
Android 휴대폰 사용자는 작업 관리 소프트웨어를 설치했을 수 있습니다. 안드로이드폰을 사용할 때, 작업종료 소프트웨어를 꼭 설치해야 하나요? 또한 많은 소프트웨어가 종료 직후 작업 목록에 나타나거나 잠시 후에 자체적으로 나타나는 것을 사용 중에 모두가 발견했습니다. 작업 관리를 하면 백그라운드 프로그램이 계속 종료되지만 휴대폰 실행 속도는 크게 향상되지 않습니다. 왜 이런가요?

[Text] 사실 안드로이드폰의 남은 메모리 용량은 크게 신경쓰실 필요가 없습니다. 많은 사람들이 다른 시스템을 사용하는 습관을 Android 휴대폰에 도입했으며 모든 스마트폰 시스템이 동일한 것은 아닙니다. 대부분의 Android 애플리케이션이 종료되지 않는 디자인은 실제로 의미가 있습니다. 이는 시스템의 프로세스 스케줄링 메커니즘과 관련이 있습니다. Java를 알고 있다면 이 메커니즘을 더 잘 이해할 수 있습니다. 실제로 Java의 가비지 수집 메커니즘과 유사하게 시스템에는 메모리를 회수하는 규칙이 있습니다. 메모리 스케줄링에는 임계값이 있습니다. 값이 이 값보다 낮은 경우에만 시스템은 목록에 따라 사용자에게 필요하지 않은 항목을 닫습니다. 물론 이 값은 기본적으로 아주 작게 설정되어 있기 때문에 아주 작은 값에 메모리가 맴돌고 있는 모습을 보실 수 있을 것입니다. 그러나 실제로는 속도에 영향을 미치지 않습니다. 오히려 다음 애플리케이션 실행 속도가 빨라집니다. 이는 원래 Android의 장점 중 하나입니다. 프로세스를 수동으로 닫는 경우에는 필요하지 않습니다. 특히 프로세스를 자동으로 종료하는 소프트웨어.

어떤 사람들은 메모리가 적을 때 큰 프로그램을 실행하는 것이 왜 느리다고 말할 수 있습니까? 사실 그것은 매우 간단합니다. 메모리가 많이 남지 않았을 때 큰 프로그램을 열면 시스템 자체의 프로세스 스케줄링 전략이 실행됩니다. 특히 프로그램이 시스템에서 메모리를 자주 요청하는 경우 이는 리소스를 많이 소모하는 작업입니다. 이 경우 시스템은 열려 있는 모든 프로세스를 닫지 않고 선택적으로 닫습니다. 빈번한 스케줄링은 자연스럽게 시스템 속도를 저하시킵니다.

그렇다면 프로세스 관리 소프트웨어는 여전히 가치가 있습니까? 사실, 아직 일부가 있습니다. 대규모 프로그램을 실행하기 전에 일부 프로세스를 수동으로 닫아 메모리를 해제하면 실행 속도가 크게 향상될 수 있습니다. 그러나 일부 작은 프로그램은 시스템 자체에서 완전히 관리할 수 있습니다. 많은 친구들이 여전히 질문을 갖고 있습니다. 프로그램을 끄지 않으면 더 많은 전력을 소비합니까? 여기서도 Android 애플리케이션이 백그라운드로 전환되면 실제로는 일시 중지되어 CPU 리소스를 소비하지 않는다는 점을 설명하겠습니다. 실행 상태만 유지합니다. 그렇다면 일부 프로그램을 잘라내고 다시 입력해도 여전히 기본 인터페이스로 돌아가는 이유는 무엇입니까? 그러나 프로그램이 음악 재생과 같이 백그라운드에서 무언가를 처리하려는 경우 서비스를 시작합니다. 서비스는 백그라운드에서 계속 실행될 수 있으므로 서비스가 있는 애플리케이션만 백그라운드에서 전력을 소비합니다. 이는 프로세스 관리 소프트웨어에서 볼 수 있으며 이름은 서비스입니다. 따라서 서비스가 없는 애플리케이션은 백그라운드에서 전력을 전혀 소비하지 않으며 애플리케이션을 닫을 필요도 없습니다. 이 디자인은 본질적으로 매우 좋은 디자인입니다. 다음에 프로그램을 시작하면 인터페이스 리소스를 읽을 필요가 없기 때문에 속도가 더 빨라집니다. Android의 장점을 없애기 위해 왜 기능을 끄나요?

한 가지 더, Android 애플리케이션이 그렇게 많은 메모리를 소비하는 것처럼 보이는 이유는 무엇입니까? 우리 모두 알고 있듯이 Android의 애플리케이션은 Java이므로 가상 머신이 필요합니다. Android의 애플리케이션에는 독립적인 가상 머신이 있습니다. 즉, 애플리케이션이 열릴 때마다 독립적인 가상 머신이 열립니다. 이렇게 설계하는 이유는 가상 머신이 충돌하여 전체 시스템이 충돌하는 것을 방지하기 위한 것이지만, 그 대가는 더 많은 메모리가 필요하다는 것입니다.

큰 프로그램을 열거나 여러 프로그램을 열었을 때 전환이 느려지는 이유에 대한 구체적인 분석은 다음과 같습니다.

메모리의 70%를 차지하는 큰 프로그램이 열렸습니다. 이때 여전히 메모리의 50%가 필요한 다른 프로그램을 실행하려면 대용량 프로그램이 차지하는 메모리를 해제하거나 압축하는 과정이 필요하기 때문에 한동안 속도가 느려질 것으로 보인다.

총 메모리의 80%를 차지하는 여러 프로그램이 열렸습니다. 새 프로그램을 실행할 때 메모리의 20%가 추가로 필요합니다. 시스템 메모리는 남은 0을 본 적이 없으므로, 즉 여유 메모리가 어느 정도 남아 있어야 합니다. 그런 다음 이전에 열었던 프로그램 중 하나 또는 여러 개를 선택하여 닫아야 합니다. 이 프로세스는 시스템 리소스도 소비하므로 잠시 동안 속도가 느려집니다. 즉, 프로그램을 수동으로 종료하면 시스템 메모리가 해제됩니다. 종료하지 않더라도 시스템은 메모리가 필요할 때 메모리를 해제하기 위해 프로그램을 자동으로 종료합니다.

백그라운드에서 실행되지 않는 프로그램(서비스 없이)은 종료되지 않더라도 전력을 소비하지 않습니다. 일부 플레이어나 실시간 모니터링 소프트웨어와 같이 백그라운드(서비스 포함)에서 실행되는 프로그램은 자연스럽게 전력을 소비합니다. 이는 프로세스를 종료하는 것이 쓸모가 없음을 보여줍니다. 어떤 서비스가 전력을 소비하고 어떤 프로그램이 백그라운드에서 실행되고 있는지 확인하면 됩니다. 서비스를 보시면 알 수 있습니다. 해당 소프트웨어가 더 이상 사용되지 않으면 종료되어야 합니다.

QQ를 예로 들면, 정상적인 종료는 프로세스 관리에서 QQ의 실행 상태를 유지하지만 전력을 소비하지 않으며 CPU를 점유하지 않습니다. 그냥 스위치를 끄면(종료하는 대신 하우스 키를 누름) 프로그램이 계속 실행 중이고 QQ가 여전히 온라인 상태이기 때문에 자연스럽게 전력을 소비하게 됩니다.

여기서 주의할 점이 있습니다. 하우스 키와 리턴 키 모두 프로그램을 전환할 수 있지만 둘의 효과는 매우 다릅니다. 리턴 키는 프로그램이 종료된 것으로 간주될 수 있으며, 하우스 키를 누르면 프로그램이 백그라운드로 전환되어 실행되고 소프트웨어는 종료되지 않습니다!

위 디자인은 모두 안드로이드의 안정성을 보장하기 위한 것입니다. 정상적인 상황에서는 최대 단일 프로그램이 충돌하지만 전체 시스템은 충돌하지 않으며 메모리 부족에 대한 메시지도 표시되지 않습니다. Windows에 너무 중독되어 항상 더 많은 메모리를 예약하고 싶을 수도 있지만 실제로 이것이 반드시 속도를 증가시키는 것은 아닙니다. 반대로, 빠른 프로그램 시작이라는 시스템 기능을 잃게 되며, 이는 이득을 얻을 가치가 없습니다. 안드로이드 시스템을 사용하기 위해 사고방식과 습관을 바꾸고 싶을 수도 있습니다.
회신하다 🤍 0 📤 공유하다 모으다
나 또 소파에 누웠어!
— 모든 답글이 로드되었습니다. —

답장을 남겨주세요