手机内存卡里显示满了,可是文件夹里却啥都没有,为啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手机内存卡里显示满了,可是文件夹里却啥都没有,为啥?相关的知识,希望对你有一定的参考价值。

2G的内存卡在手机上读出来了,但是内存卡却显示磁盘已满!里面除了六七十首歌外再什么都没,其余文件夹也在,可是这些文件夹里却什么都没有,我就纳闷,东西根本不在里面怎么显示满了?急急!!

可能情况1:

应用缓存文件过多过大,占用太多空间,建议清理一下。

一般手机自带了清理缓存的功能,打开手机设置,选择【应用】这个选项。

打开应用选项后,选择全部分类,可以看到手机中全部已安装的软件。

打开后在这里可以看到有卸载、移动至手机内存、清除数据和清除缓存功能,点击【清除数据】和【清除缓存】就可以把软件产生的缓存清理了。

可能情况2:

卡里面有隐藏文件;卡里面有垃圾碎片文件或系统交换(缓存)文件。

建议:连接电脑,把卡里面的现成文件取出后,格式化手机内存卡,再把刚才取出的文件资料放回去,看看是否解决

可能情况3:

你说的可能是两个概念,内存满的是手机自带的内存,是运行内存(叫RAM)通常所说的满了可能就是指它。

参考技术A 卡里面有隐藏文件;
卡里面有垃圾碎片文件或系统交换(缓存)文件。
建议:连接电脑,把卡里面的现成文件取出后,格式化手机内存卡,再把刚才取出的文件资料放回去,看看行了不
参考技术B 卡里面有隐藏文件;
卡里面有垃圾碎片文件或系统交换(缓存)文件。
建议:连接电脑,把卡里面的现成文件取出后,格式化手机内存卡,再把刚才取出的文件资料放回去,看看行了不
参考技术C 不用纠结了,手机厂家不能让你长期使用不坏。过一段时间就给你自动升级系统,导致你的手机无法运行。你就需要换机,一百个人中有三十人会选择他的品牌,他就够了。 参考技术D 1、安装的应用是占内存容量的。

2、各种应用的缓存。
这两条原因就是直接导致普通安卓机只能用1.2年就会很卡的原因,内存优化不如iPhone,手机生产商也一直在改进这一点。

为啥 JPanel 上啥都没有显示?

【中文标题】为啥 JPanel 上啥都没有显示?【英文标题】:Why is nothing is displayed on JPanel?为什么 JPanel 上什么都没有显示? 【发布时间】:2015-07-28 16:16:27 【问题描述】:

我正在尝试从数据库中获取数据并将结果发布到JPanel

这是简化的代码:

public class LedgerView extends JPanel 
    public LedgerView() 
        super();

        this.setLayout(new FlowLayout());

        this.add(new JLabel("ITEMS:"));

        String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        String DB_URL = "jdbc:mysql://localhost/gnufinance";
        String USERNAME = "gnufinance";
        String PASSWORD = "gnuisnotunix";
        Connection conn = null;

        try 
            Class.forName(JDBC_DRIVER);
            conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
         catch (Exception e) 
            e.printStackTrace();
        

        String query = "SELECT * FROM transactions";
        try 
            PreparedStatement ps = conn.prepareStatement(query);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) 
                String desc = rs.getString(3);
                System.out.println(desc);
                this.add(new JLabel(desc));
            
         catch (SQLException e) 
             e.printStackTrace();
        
    

    public static void main(String[] args) 
        JFrame view = new JFrame();
        view.setVisible(true);
        view.setSize(300, 300);
        view.add(new LedgerView(), BorderLayout.CENTER);
    

除了空白的灰色框外什么都没有显示,但是当我删除 JDBC 代码时,会显示第一个 JLabel(ITEMS)。屏幕上什么都没有,但 while 循环中的 System.out.println 会在控制台上正确打印所有数据。没有例外。

【问题讨论】:

【参考方案1】:

您必须在 Event Dispatch Thread 或 EDT 上创建面板。

Swing 不是线程安全的;您对摇摆控件所做的任何更改(例如创建新的JLabels)都必须在 EDT 上发生(这不是您的 main 方法开始的线程。您使用 EventQueue.invokeLater()告诉 Java 将工作转移到 Swing 绘图线程上。

请注意,大多数时候您不希望您的工作(例如访问数据库)在 EDT 上进行,因为这会使您的用户界面无响应。换句话说,您的程序将在可能的情况下执行访问数据库的工作,而不是绘制您的屏幕。

此代码将解决您当前的问题,但您应该考虑在其他地方访问数据库(也许,现在,在您的 main 方法中),将结果存储在 List 中,然后将List 传递给您的LedgerView,这将产生一个响应更快的用户界面。

public static void main(String[] args) 
    final JFrame view = new JFrame();

    EventQueue.invokeLater(new Runnable() 
        @Override
        public void run() 
            view.setSize(300, 300);
            view.add(new LedgerView(), BorderLayout.CENTER);
            view.setVisible(true);
        
    

【讨论】:

以上是关于手机内存卡里显示满了,可是文件夹里却啥都没有,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

关于linux系统下TCP通信 服务器read函数一直读取数据却啥都读不到的问题

为啥在桌面上点击右键,在新建栏里却没有word文档?

来看,VSCode再也不占满内存,VSCode卡?

小米手机米柚有个文件叫Gallery,但是显示是空文件,但却内存很大,为啥?

为啥电脑文件删了后文件夹内存不变

为啥电脑的内存使用量会慢满增加,要怎么才能解决