gpt4 book ai didi

android - 我如何利用 Android 的 "Clear Cache"按钮

转载 作者:可可西里 更新时间:2023-11-01 18:43:57 26 4
gpt4 key购买 nike

在 Android 的设置中,在单击应用程序时的“管理应用程序” Activity 中,数据被分解为应用程序、数据和缓存。还有一个按钮可以清除缓存。我的应用程序缓存音频文件,我希望用户能够使用此按钮清除缓存。我如何存储它们以便它们与缓存混为一谈并且用户可以清除它们?我尝试使用以下两种技术存储文件:

newFile = File.createTempFile("mcb", ".mp3", context.getCacheDir());


newFile = new File(context.getCacheDir(), "mcb.mp3");
newFile.createNewFile();

在这两种情况下,这些文件都列为数据而不是缓存。

最佳答案

我无法重现您的问题,可能是其他地方出了问题。

使用以下应用程序,我能够在缓存目录中创建一个文件,然后使用“设置”下的“管理应用程序”功能清除它。我不必更改 list 中的任何内容,据我所知,you really shouldn't mess with the android:allowClearUserData option .

public class CreateCacheFile extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button button = (Button) findViewById(R.id.CreateFileButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(
CreateCacheFile.this.getCacheDir(), "temp.txt");

try {
file.createNewFile();
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Hello World");
bw.newLine();
bw.close();

} catch (IOException e) {
Toast.makeText(
CreateCacheFile.this,
"Error!",
Toast.LENGTH_SHORT).show();
}
}
});
}
}

运行应用程序后(并单击按钮创建文件):

$ adb -d shell
# ls /data/data/com.example.CreateCacheFile/cache
temp.txt
# cat /data/data/com.example.CreateCacheFile/cache/temp.txt
Hello World
#

Manage Applications 报告说有 4KB 的空间用于缓存。点击按钮清除后:

# ls /data/data/com.example.CreateCacheFile/cache
# cat /data/data/com.example.CreateCacheFile/cache/temp.txt
temp.txt: No such file or directory
#

此时“管理应用程序”报告说 0KB 空间已用于缓存。

关于android - 我如何利用 Android 的 "Clear Cache"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com