Android清除應(yīng)用緩存的兩種方法
第一種
使用ActivityManager中的clearApplicationUserData方法,代碼如下:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); am.clearApplicationUserData();
這種方式的問(wèn)題就是不知清除cache,連帶應(yīng)用的data也刪除了。如下圖所示:
第二種
使用PackageManager中的deleteApplicationCacheFiles方法,這個(gè)API是隱藏的,所以需要用反射來(lái)調(diào)用,代碼如下:
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); } }
這種方式只會(huì)清除cache,有需要只清除緩存,可以是用這種方式。IPackageDataObserver需要自己放到項(xiàng)目的aidi文件夾中,如下圖所示:
兩種方式都需要有系統(tǒng)權(quán)限,聲明為系統(tǒng)應(yīng)用并且簽系統(tǒng)簽名才能調(diào)用成功。
以上就是Android清除應(yīng)用緩存的兩種方法的詳細(xì)內(nèi)容,更多關(guān)于Android清除應(yīng)用緩存的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android實(shí)現(xiàn)多級(jí)樹(shù)形選擇列表
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多級(jí)樹(shù)形選擇列表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04Android ListView自定義Adapter實(shí)現(xiàn)仿QQ界面
這篇文章主要為大家詳細(xì)介紹了ListView自定義Adapter實(shí)現(xiàn)仿QQ界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android編程布局(Layout)之AbsoluteLayout用法實(shí)例分析
這篇文章主要介紹了Android編程布局(Layout)之AbsoluteLayout用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了Android絕對(duì)布局AbsoluteLayout的實(shí)現(xiàn)方法,需要的朋友可以參考下2015-12-12Android自定義View實(shí)現(xiàn)投票進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)投票進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11Android 開(kāi)發(fā)之dataBinding與ListView及事件
這篇文章主要介紹了Android 開(kāi)發(fā)之dataBinding與ListView及事件的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10Android面向切面基于AOP實(shí)現(xiàn)登錄攔截的場(chǎng)景示例
這篇文章主要為大家介紹了Android面向切面基于AOP實(shí)現(xiàn)登錄攔截的場(chǎng)景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Android LayoutInflater.inflate()詳解及分析
這篇文章主要介紹了Android LayoutInflater.inflate()詳解及分析的相關(guān)資料,需要的朋友可以參考下2017-01-01Android自定義控件實(shí)現(xiàn)九宮格解鎖功能
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)九宮格解鎖功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05