Android 에서 캐 시 를 지 우 는 두 가지 방법
1678 단어 Android깨끗이 제거 하 다캐 시
Activity Manager 의 clear 응용 프로그램 UserData 방법 을 사용 합 니 다.코드 는 다음 과 같 습 니 다.
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.clearApplicationUserData();
이런 방식 의 문 제 는 cache 를 제거 할 줄 모 르 고 응용 한 data 도 삭제 했다 는 것 이다.다음 그림 에서 보 듯 이:두 번 째
PackageManager 의 deleteapplicationCacheFiles 방법 을 사용 합 니 다.이 API 는 숨겨 져 있 기 때문에 반사 로 호출 해 야 합 니 다.코드 는 다음 과 같 습 니 다.
PackageManager packageManager = context.getPackageManager();
Method method;
try {
method = PackageManager.class.getDeclaredMethod("deleteApplicationCacheFiles", String.class, IPackageDataObserver.class);
method.invoke(packageManager, packageName, new ClearUserDataObserver());
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
static class ClearUserDataObserver extends IPackageDataObserver.Stub {
public void onRemoveCompleted(final String packageName, final boolean succeeded) {
Log.i(TAG, "IPackageDataObserver succeeded: " + succeeded);
}
}
이 방식 은 cache 만 삭제 하고 캐 시 만 삭제 해 야 하 며 이 방식 을 사용 할 수 있 습 니 다.IPackageDataObserver 는 다음 그림 과 같이 프로젝트 의 aidi 폴 더 에 직접 넣 어야 합 니 다.두 가지 방식 모두 시스템 권한 이 있어 야 시스템 응용 이 라 고 설명 하고 시스템 서명 을 해 야 호출 에 성공 할 수 있 습 니 다.
이상 은 안 드 로 이 드 가 캐 시 를 지 우 는 두 가지 방법의 상세 한 내용 입 니 다.안 드 로 이 드 가 캐 시 를 지 우 는 것 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.