活动被回收零时数据保存

一、Android提供onSaveInstanceState()方法提供活动被回收时保存零时数据的途径,该方法保证一定在活动被回收之前条用。onSaveInstanceState()方法携带一个bundle类型的参数,Bundle提供一些列方法用于保存数据,如putString();putInt()等。

  重写Activity的onSaveInstanceState()方法,保存零时数据,

  修改onCreate方法,从形参savedInstanceState中取出保存的参数。

  例如:

  

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String tempData = "Something you just typed";
outState.putString("data_key", tempData);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "onCreate");
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
if (savedInstanceState != null) {
String tempData = savedInstanceState.getString("data_key");
Log.d(TAG, tempData);
}
……
}

 

转载于:https://www.cnblogs.com/llxbl/p/6076343.html

<think>我们正在讨论如何使用命令行删除临时文件。根据引用[3],在Windows系统中,可以使用命令提示符(cmd)来删除临时文件。引用[3]提供了一个批处理脚本,其中包含多个删除命令,用于清除系统垃圾文件。同时,引用[2]提到了Linux下使用命令行删除文件和目录的基本命令,如`rm`。 用户的需求是“通过命令行工具删除临时文件”,因此我们需要分别考虑Windows和Linux两种常见操作系统。 在Windows中: 临时文件通常位于以下几个位置: - 系统临时文件夹:%systemroot%\Temp 或 %windir%\Temp - 用户临时文件夹:%USERPROFILE%\AppData\Local\Temp - 其他临时文件,如浏览器缓等 引用[3]中的批处理脚本使用了多个`del`命令来删除特定类型的临时文件,并且还使用了`rd`(删除目录)和`md`(创建目录)来清空并重新创建Temp目录。 在Linux中: 临时文件通常位于/tmp和/var/tmp。普通用户通常可以删除自己的临时文件(/tmp目录下属于该用户的文件),而系统级的临时文件可能需要管理员权限。 根据引用[2]和引用[4],Linux下删除文件和目录的命令是`rm`,删除目录还可以使用`rmdir`(只能删除空目录)或`rm -r`(递归删除)。 因此,我们可以分两个部分来回答:Windows和Linux。 注意:删除操作具有风险,务必谨慎。在删除前,建议先确认要删除的文件和目录,或者进行备份。 以下是具体步骤: 一、Windows系统 1. 使用命令提示符(cmd)以管理员身份运行(因为有些临时文件需要管理员权限才能删除)。 2. 可以逐条执行删除命令,也可以将命令保存为批处理文件(.bat)然后运行。 引用[3]中提供的批处理脚本可以清除多种类型的临时文件。但是,请注意,该脚本会删除一些特定类型的文件(如.tmp, .log等)以及特定目录(如回收站、浏览器缓等)。我们也可以简化一下,只删除系统临时文件夹和用户临时文件夹。 例如,删除当前用户临时文件夹的所有文件: del /f /s /q %USERPROFILE%\AppData\Local\Temp\* 注意:这个命令会删除Temp文件夹下的所有文件和子文件夹,但不会删除Temp文件夹本身。 如果要删除系统临时文件夹(需要管理员权限): del /f /s /q %windir%\Temp\* 另外,还可以使用`rd`命令删除整个Temp目录(然后重建): rd /s /q %windir%\Temp md %windir%\Temp 但是,请注意,在删除Temp目录时,如果有正在使用的文件,则可能无法删除。因此,最好是在系统启动时(没有其他程序运行)执行,或者使用其他工具(如磁盘清理工具)来删除。 二、Linux系统 1. 打开终端。 2. 删除/tmp目录下的文件(注意:/tmp目录是系统临时目录,所有用户都可以使用,但每个用户只能删除自己的文件): sudo rm -rf /tmp/* 注意:使用`sudo`是因为/tmp目录的权限通常是所有用户可写,但删除其他用户的文件需要root权限。实际上,普通用户只能删除自己拥有的文件,所以如果你只是要删除当前用户的临时文件,可以不用sudo,但如果你想清空整个/tmp目录,则需要root权限。 3. 删除当前用户缓文件(位于~/.cache): rm -rf ~/.cache/* 4. 其他临时目录如/var/tmp,同样需要root权限: sudo rm -rf /var/tmp/* 注意:`rm -rf`命令会递归强制删除,非常危险,请确保路径正确。 另外,在Linux中,可以使用`tmpwatch`或`tmpreaper`工具来自动删除一段时间未使用的临时文件。例如,删除/tmp目录下超过10天未使用的文件: sudo tmpreaper 10d /tmp 总结: 删除临时文件前,请确保这些文件确实不再需要。在Windows中,使用`del`和`rd`命令;在Linux中,使用`rm`命令。同时,注意权限问题。 根据引用[2]的提醒,删除命令一定要谨慎操作,防止数据丢失。 下面,我们将分别给出Windows和Linux的示例命令。 示例(Windows): 1. 删除当前用户临时文件夹: del /f /s /q "%USERPROFILE%\AppData\Local\Temp\*.*" 2. 删除系统临时文件夹(需要管理员权限): del /f /s /q "%windir%\Temp\*.*" 3. 或者,使用一个批处理文件(包含引用[3]中的多条命令,但建议只使用其中一部分,因为原脚本包含很多可能用户不需要删除的文件类型) 示例(Linux): 1. 删除/tmp目录下所有文件(需要root权限): sudo rm -rf /tmp/* 2. 删除当前用户缓: rm -rf ~/.cache/* 最后,生成相关问题。</think>### 如何通过命令行删除临时文件 #### 一、Windows 系统 1. **基础删除命令** 打开命令提示符(cmd)或 PowerShell(管理员权限): ```cmd :: 删除当前用户临时文件 del /f /s /q "%USERPROFILE%\AppData\Local\Temp\*" :: 删除系统级临时文件(需管理员权限) del /f /s /q "C:\Windows\Temp\*" ``` - `/f`:强制删除只读文件 - `/s`:递归子目录 - `/q`:静默模式(无需确认)[^3] 2. **批量清理脚本** 创建 `.bat` 文件执行多类型清理(引用[3]优化版): ```cmd @echo off echo 正在清除临时文件... del /f /s /q %systemdrive%\*.tmp del /f /s /q %windir%\Temp\*.* del /f /s /q "%USERPROFILE%\AppData\Local\Temp\*" echo 清理完成! & pause ``` --- #### 二、Linux 系统 1. **核心命令** ```bash # 删除用户级临时文件(~/.cache 和 /tmp 用户文件) rm -rf ~/.cache/* sudo rm -rf /tmp/* # 删除系统级临时文件(/var/tmp) sudo rm -rf /var/tmp/* ``` - `-r`:递归删除目录 - `-f`:强制删除[^2][^4] 2. **安全工具** 使用 `tmpwatch` 自动清理(例:删除超过10天的文件): ```bash sudo tmpwatch 10d /tmp ``` --- #### 三、注意事项 1. **权限要求** - Windows:系统目录需**管理员权限**(右键→“以管理员身份运行”) - Linux:系统目录需 `sudo` 权限[^2][^4] 2. **风险预防** - 先执行 `dir`(Windows)或 `ls`(Linux)预览文件 - 重要数据提前备份 - 避免直接删除根目录(如误输 `rm -rf /`)[^2] 3. **替代方案** - Windows:内置工具 `cleanmgr`(磁盘清理) - Linux:定时任务配置 `cron + rm` --- ### 相关问题 1. Windows 中如何用 PowerShell 高效删除指定类型的临时文件(如 `.log`)? 2. Linux 下 `tmpwatch` 和 `tmpreaper` 工具有何区别?如何配置自动清理? 3. 误删系统临时文件导致程序异常,如何快速恢复? 4. 跨平台临时文件管理有哪些自动化工具推荐? [^1]: 在Ubuntu 24.10的江湖中,命令行可谓是每位高手的必修武技... [^2]: Linux下命令行文件创建删除、目录创建删除... [^3]: 使用cmd命令清空windows中C盘的所有临时文件... [^4]: Linux(2)——使用命令行管理文件(上)...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值