android浏览器缓存,如何永久禁用Android浏览器缓存?_渴望手绘的伪设计的博客-程序员秘密

技术标签: android浏览器缓存  

使用ADB命令可以清除浏览器缓存和用户数据

adb shell pm clear com.android.browser

,但如果你从Android程序运行

看到发出此这是不行的我前面question关于那

虽然这是临时解决方案,如果你需要清除android浏览器缓存连续使用后台运行服务它可以完成与“android.content.pm.IPackageDataObserver”。如果您寻找以下是该服务 它测试和工作正常

import java.util.List;

import android.app.PendingIntent;

import android.app.Service;

import android.content.ComponentName;

import android.content.Intent;

import android.content.pm.IPackageDataObserver;

import android.content.pm.IPackageStatsObserver;

import android.content.pm.PackageInfo;

import android.content.pm.PackageManager;

import android.content.pm.PackageStats;

import android.os.Handler;

import android.os.IBinder;

public class CacheCleanerService extends Service {

public static final String REFRESH_INTENT="tritop.android.slwcachecleanerwidget.REFRESH";

public static final String CLEAR_INTENT="tritop.android.slwcachecleanerwidget.CLEAR";

public static final long RECOUNTNDELAY=1500;

private boolean mDND=false;

private Handler mHandler;

private int statsCounter;

private long mCacheSum;

private StatsObserver mStatsObs;

private ClearCacheObserver mClearObs;

private PackageManager mPM;

private List mInstPkg;

private Runnable mTriggerCount = new Runnable()

{

public void run()

{

countCache();

}

};

private Runnable mAutoKill = new Runnable()

{

public void run()

{

stopSelf();

}

};

//More info in ApplicationState.java @ android.git.kernel.org

class StatsObserver extends IPackageStatsObserver.Stub{

public void onGetStatsCompleted(PackageStats stats,boolean bl){

mCacheSum+=stats.cacheSize;

statsCounter++;

if(statsCounter>=mInstPkg.size()){

updateWidgets();

}

}

}

class ClearCacheObserver extends IPackageDataObserver.Stub {

public void onRemoveCompleted(final String packageName, final boolean succeeded) {

}

}

private void countCache() {

statsCounter = 0;

mCacheSum = 0;

mInstPkg= mPM.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES |

PackageManager.GET_DISABLED_COMPONENTS);

for(PackageInfo pInfo: mInstPkg){

// mPM.getPackageSizeInfo(pInfo.packageName, mStatsObs);

}

}

private void clearCache(){

mInstPkg= mPM.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES |

PackageManager.GET_DISABLED_COMPONENTS);

//mPM.freeStorageAndNotify(Integer.MAX_VALUE, mClearObs);

//mPM.freeStorageAndNotify(Long.MAX_VALUE, mClearObs);

mHandler.postDelayed(mTriggerCount, RECOUNTNDELAY);

}

@Override

public IBinder onBind(Intent arg0) {

return null;

}

@Override

public void onCreate() {

mStatsObs = new StatsObserver();

mClearObs = new ClearCacheObserver();

mPM = getPackageManager();

mHandler = new Handler();

}

@Override

public void onDestroy() {

mHandler.removeCallbacks(mAutoKill);

mHandler.removeCallbacks(mTriggerCount);

mDND=false;

super.onDestroy();

}

@Override

public void onStart(Intent intent, int startId) {

if(!mDND){

mHandler.postDelayed(mAutoKill, 20000);

mDND=true;

mCacheSum=0;

statsCounter=0;

if(CLEAR_INTENT.equals(intent.getAction())){

clearCache();

}

else{

countCache();

}

}

}

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42395725/article/details/117566114

智能推荐

java线程中信号量Semaphore类的应用_iteye_6274的博客-程序员秘密

Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过acquire()获取一个许可,如果没有就等待,而release()释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。Semaph...

Android应用程序资源的编译和打包过程分析_lxq_xsyu的博客-程序员秘密

我们知道,在一个APK文件中,除了有代码文件之外,还有很多资源文件。这些资源文件是通过Android资源打包工具aapt(Android Asset Package Tool)打包到APK文件里面的。在打包之前,大部分文本格式的XML资源文件还会被编译成二进制格式的XML资源文件。在本文中,我们就详细分析XML资源文件的编译和打包过程,为后面深入了解Android系统的资源管理框架打下坚实的基...

【ARDUINO】串口无法打开问题_weixin_34220834的博客-程序员秘密

1、查看是否串口被锁sudo arduinols /var/locksudo rm /var/lock/LCK..ttyACM*2、查看arduino安装位置dpkg -S XXXX3、原因是debug波特率设为38400,需改为9600~/.arduino/preferences.txtserial.debug_rate=9600参考:http://forum...

BASLER ace aca1300-60gc GigE相机参数_黑化咸鱼的博客-程序员秘密

前言Basler ace相机系列作为Basler公司2009年推出以来,已经发展到130多种型号,广泛应用于各行各业。由于本人学习机器视觉,所采用相机型号为BASLER ace aca1300-60gc GigE,因此以下数据均只采用该型号相机。资料来源为Basler ace用户手册及数据文件。1.产品规格水平/垂直分辨率 1280 px x 1024 px 感光芯片 E2V EV76C560 芯片尺寸 1/1.8" 芯片技术 CMOS,全局和..

text-align-last safari 不支持的解决办法_safari text-align_ISaiSai的博客-程序员秘密

单行文本需要分散两端对齐的时候可以使用(ie chrome)text-align: justify;text-align-last:justify;但是safari 不支持 text-align-last 兼容性更好的方法是 使用after伪类,添加一个空白行,使得当前行不是最后一行,实现等价于text-align-last:justify;分散对齐的效果 。<!DOCTYPE html><

随便推点

python之arp欺骗_python arp缓存恢复_willowpy的博客-程序员秘密

kali使用Ettercap进行arp欺骗192.168.0.105加入target1,192.168.0.1网关加入target2点击MITM中的ARPwindows7查看mac地址已经发生变化可以用driftnet查看被攻击的win7访问网页的图片,最新版的kali未安装该软件,实际测试该软件应该只能查看一些加密不严格的网站或者使用wireshark抓包嗅探win7登录dvwa过程,可在kali抓包嗅探到python编写arp欺骗脚本srp发送数据包verbose不显

linux运行check1n越狱,checkra1n越狱教程linux_UI设计华斌的博客-程序员秘密

checkra1n越狱教程linuxcheckra1n越狱教程hang v,越狱工具ios13checkra1n,checkra1n清除越狱环境,如下:①、1下载和安装RAXML可以在Linux,MacOS,DOS,下载URL是您自己的百度上运行,也可以使用phylobench.vital-it.ch/raxml-bb/在线运行。 对于Linux和Mac用户来说,下载RAxML-7.redhat9...

TCP发送源码学习(1)--tcp_sendmsg_sendmsg数据长度_ctthuangcheng的博客-程序员秘密

一、tcp_sendmsg()函数分析:int tcp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t size){ struct iovec *iov; /*从通用的struct sock *sk得到struct tcp_sock *tp,其实只是一个强制类型转换,因

Oracle的to_date函数(SQL语句往Oracle数据库中插入日期型数据)_to_date能加在db字段上吗_zzjjiandan的博客-程序员秘密

Oracle的to_date函数一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm

电影字幕下载网站大全(By乐葛格)_字幕大全_Python名人堂的博客-程序员秘密

中文字幕下载站(chinese language)射手网:www.shooter.com.cn(极力推荐,最全面)TLF原创字幕站 :http://tlfsubs.eastgame.net/汉风中文字幕库:http://sub.hanstyle.org/default.asp新视界字幕站 :http://www.newmov.com/dvd/film.asp伊甸园电影字

推荐文章

热门文章

相关标签