You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让基于JNI的极简Android应用完全停止写入缓存?

如何完全阻止Android应用写入内部存储缓存?

我正在开发一款基于C++/Java(主要使用C++)的简易Android JSON编辑器,通过JNI实现Java调用C++功能。但发现即便使用最基础的代码,应用仍会向内部存储写入缓存。我需要彻底阻止缓存写入,哪怕实现难度较大也没关系。

应用基本信息

  • 用途:无广告、无冗余内容的JSON编辑器
  • 禁止缓存的核心原因:
    • 应用本身完全不需要存储缓存
    • 缓存会消耗内部存储的写入/擦除周期,这是我绝对无法接受的
  • 当前状态:采用极简架构,暂未实现任何可操作功能

已尝试的解决方案

  • 通过谷歌搜索相关问题
  • 尽可能减少依赖的库数量
  • 创建无额外业务代码的新项目测试
  • 尝试移除AppCompatActivity库(删除对应的导入语句)

使用过的搜索关键词

  • "how to prevent cache in Android apps"
  • "disable caching in Android apps"

当前使用的代码

package com.sonicandtailscd.jsoneditor;  

import androidx.appcompat.app.AppCompatActivity;  
import android.os.Bundle;  
import android.widget.TextView;
import com.sonicandtailscd.jsoneditor.databinding.ActivityMainBinding;  

public class MainActivity extends AppCompatActivity {  

    // 应用启动时加载'jsoneditor'库
    static {  
        System.loadLibrary("jsoneditor");  
    }  

    private ActivityMainBinding binding;  

    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  

        binding = ActivityMainBinding.inflate(getLayoutInflater());  
        setContentView(binding.getRoot());  

        // 调用Native方法示例
        TextView tv = binding.sampleText;  
        tv.setText(stringFromJNI());  
    }  

    /**  
     * 由随应用打包的'jsoneditor'Native库实现的Native方法
     */  
    public native String stringFromJNI();  
}

缓存存在的证明

手机屏幕截图显示该应用已向内部存储写入缓存

推测的缓存产生原因

AppCompatActivity 组件及Android系统本身的默认行为

内容的提问来源于stack exchange,提问作者SonicandTailsCD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:02:46