2015-01-23 4 views
3

램 부스터 앱을 만들고 싶습니다. 2 개월 동안, 나는 프로그래밍 방식으로 안드로이드 장치의 RAM에서 사용하지 않는 데이터를 청소하려고합니다. 인터넷 검색을 통해 내가 사용하지 않은 데이터를 삭제하는 코드를 발견했지만 사용하지 않은 RAM을 직접 청소할 수있는 코드는 찾을 수 없습니다. 나는 또한 인터넷에서 일부 코드를 사용했지만 어떤 결과도 얻지 못했습니다. 어떻게 할 수 있을지 제안을 받고 싶습니다. 여기 내가 시도한 코드가 있습니다. 이 코드를 사용하면 앱을 실행 한 후 앱에서 메모리를 정리하지만 몇 초 후에 다시 램 메모리가 가득 찬 것으로 나타났습니다.프로그래밍되지 않은 안드로이드 장치의 램에서 사용하지 않는 메모리를 청소하고 싶습니다

List<ApplicationInfo> packages; 
     PackageManager pm; 
     pm = getPackageManager(); 

     packages = pm.getInstalledApplications(0); 


     ActivityManager mActivityManager = (ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); 

     for (ApplicationInfo packageInfo : packages) { 
      if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue; 
      if(packageInfo.packageName.equals("mypackage")) continue; 
      mActivityManager.killBackgroundProcesses(packageInfo.packageName); 
      // mActivityManager.restartPackage(packageInfo.packageName); 
     } 
+0

왜 필요하다고 생각하십니까? –

답변

1

RAm 부스터 응용 프로그램을 만들면 먼저 안드로이드가 어떻게 작동하는지 조사하면됩니다. Android RAM은 채워져 있거나 적어도 높은 부분으로 채워져 있어야합니다. 그렇게되면 앱간에 전환하기가 너무 힘듭니다.

안드로이드는 필요할 때 자동으로 오래된 프로세스 자체를 (RAM을 비우는) 죽일 것입니다. 2 분 후에 응용 프로그램이 다시 돌아 오는 것을 보게된다면 프레임 워크가 RAM을 다시 채우려고하기 때문입니다.

windows에서 RAM을 청소하는 것이 좋습니다. pc.gets가 가득차면 안드로이드에서 RAM을 청소하는 것은 좋지 않습니다. 비어있는 경우 시작되면 모든 프로세스를 다시 초기화해야합니다.

0

현재 Android 스택에 메모리가 필요할 때 Android가 종료 또는 일시 중지 할 앱을 아는 것처럼 메모리에 대해 걱정할 필요가 없습니다. 그리고 앱의 사용법을 수정하는 것은 finish() 메서드를 사용하여 수행 할 수 있습니다.이 메서드는 finish 메서드가 호출 된 작업을 종료합니다.