日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android清除缓存功能来实现

發(fā)布時間:2025/5/22 Android 139 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android清除缓存功能来实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們都知道在Android的設(shè)置->應(yīng)用程序中能夠查看應(yīng)用程序的相關(guān)信息,當(dāng)中有一個功能是清除緩存。

如圖:


怎么實現(xiàn)這些功能呢,從Android的setting源代碼中能夠得到相關(guān)信息。

實現(xiàn)例如以下:

Java代碼:

package com.wang.clearcache;import java.lang.reflect.Method; import android.os.Bundle; import android.os.RemoteException; import android.app.Activity; import android.content.pm.IPackageStatsObserver; import android.content.pm.PackageManager; import android.content.pm.PackageStats;public class MainActivity extends Activity {private PackageManager pm;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pm = getPackageManager();//反射try {Method method = PackageManager.class.getMethod("getPackageSizeInfo", new Class[]{String.class,IPackageStatsObserver.class});method.invoke(pm, new Object[]{"com.wang.clearcache",new IPackageStatsObserver.Stub() {@Overridepublic void onGetStatsCompleted(PackageStats pStats, boolean succeeded)throws RemoteException {long cachesize = pStats.cacheSize;long codesize = pStats.codeSize;long datasize = pStats.dataSize;System.out.println("cachesize:"+ cachesize);System.out.println("codesize:"+ codesize);System.out.println("datasize"+ datasize);}}});} catch (Exception e) {e.printStackTrace();}} }

由于得到緩存信息須要增加android.permission.GET_PACKAGE_SIZE的權(quán)限

Androidmainifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.wang.clearcache"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17" /><uses-permission android:name="android.permission.GET_PACKAGE_SIZE"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.wang.clearcache.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest></pre><pre name="code" class="java">由于使用在代碼中使用了PackageManager的getPackageSizeInfo這個函數(shù)??墒沁@種方法是不正確外公開的函數(shù),全部我們須要使用發(fā)射來調(diào)用這個函數(shù),在該方法的內(nèi)部回調(diào)了onGetStatsCompleted(PackageStats pStats, boolean succeeded)這種方法,通過該方法的pStats參數(shù)能夠得到應(yīng)用的緩存,數(shù)據(jù)緩存,代碼容量緩存,在使用的過程中須要用到系統(tǒng)的aidl文件

IPackageStatsObserver:

/* ** ** Copyright 2007, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */package android.content.pm;import android.content.pm.PackageStats; /*** API for package data change related callbacks from the Package Manager.* Some usage scenarios include deletion of cache directory, generate* statistics related to code, data, cache usage(TODO)* {@hide}*/ oneway interface IPackageStatsObserver {void onGetStatsCompleted(in PackageStats pStats, boolean succeeded); }

PackageStats:

/* //device/java/android/android/view/WindowManager.aidl ** ** Copyright 2007, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */package android.content.pm;parcelable PackageStats;

最后執(zhí)行的結(jié)果:

源代碼地址下載:

http://download.csdn.net/detail/wangbiaohome/8026535

版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。

總結(jié)

以上是生活随笔為你收集整理的Android清除缓存功能来实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人aaa视频| 国产精品一区二区在线看 | 青青青青草 | 韩国午夜激情 | 日本成人三级电影 | 制服丝袜影音先锋 | 国产精品一区电影 | 性猛交富婆╳xxx乱大交麻豆 | 黄色一级大片在线免费看产 | 国产欲妇| 丁香花完整视频在线观看 | 高h调教冰块play男男双性文 | 久久久久久av无码免费网站下载 | 加勒比不卡视频 | 久久99精品久久久久久琪琪 | 亚洲图片欧美视频 | 久久精品在线免费观看 | 日韩精品欧美激情 | 欧美动态色图 | 91禁在线看| 69xxxx日本 | 亚洲欧美色图在线 | 精品久久久999 | www.青青操| 亚洲av成人精品毛片 | 91久久国产综合久久91精品网站 | 久热热| 噼里啪啦免费观看 | 亚洲小视频在线 | 亚洲av中文无码乱人伦在线观看 | 国产尻逼视频 | 艳妇臀荡乳欲伦交换h漫 | www.污在线观看 | 国产免费内射又粗又爽密桃视频 | 久久久成人免费视频 | 中文字幕不卡 | 国产内射一区 | 五月婷婷综合在线观看 | 加勒比在线一区 | a色网站 | 久久免费少妇高潮久久精品99 | 亚洲国产一区二区三区 | 亚洲激情视频小说 | 欧美成人aaaa | 日韩在线视频免费观看 | cao在线视频 | 91热热| 色乱码一区二区三区在线男奴 | 少妇被按摩师摸高潮了 | 亚洲第一偷拍 | 日本a级c片免费看三区 | 国产精品国产精品国产专区 | 人妻夜夜爽天天爽三区麻豆av网站 | 黄网在线播放 | 国模私拍在线观看 | 美女校花脱精光 | 日韩免费一区二区三区 | 国产精品网站在线观看 | 精品国产91久久久久久久妲己 | 欧美不卡一区 | 黄色福利在线观看 | 性欢交69精品久久久 | 成人午夜精品福利免费 | 日韩精品一区中文字幕 | 久久久伦理片 | 国产特级淫片免费看 | 日本在线视频播放 | 毛片基地在线播放 | 91看片就是不一样 | 在线免费黄色网 | 久久久精品福利 | 青青青草视频在线 | 日韩avwww | 一本亚洲 | av大全在线 | 被黑人猛躁10次高潮视频 | 青青视频在线播放 | 久久91精品国产91久久小草 | 99热这里都是精品 | 九九超碰| 啊灬啊灬啊灬秀婷 | 裸体一区二区三区 | 久久精品综合网 | www.88av | 成年人网站免费看 | 91老司机在线 | 中文字幕av久久爽 | 天天操网址 | 日韩天天| 亚洲在线观看视频 | 国产又大又粗又长 | 喷水在线观看 | 韩国av一区二区三区 | 久久99热久久99精品 | 欧美午夜久久 | av高清一区二区 | 中文字幕免费一区二区 | 国产又粗又爽视频 | 波多野结衣一二区 |