android 显示清除缓存
工具类
package com.infzm.daily.know.utils; /* * 文 件 名: DataCleanManager.java * * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 * */ import java.io.File;
import java.math.BigDecimal; import android.content.Context;
import android.os.Environment;
import android.text.TextUtils; /** * 本应用数据清除管理器 */
public class DataCleanManager { /** * * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * * * @param context */ public static void cleanInternalCache(Context context) { deleteFilesByDirectory(context.getCacheDir()); } /** * * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * * * * @param context */ public static void cleanDatabases(Context context) { deleteFilesByDirectory(new File("/data/data/" + context.getPackageName() + "/databases")); } /** * * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * * @param context */ public static void cleanSharedPreference(Context context) { deleteFilesByDirectory(new File("/data/data/" + context.getPackageName() + "/shared_prefs")); } /** * * 按名字清除本应用数据库 * * * * @param context * @param dbName */ public static void cleanDatabaseByName(Context context, String dbName) { context.deleteDatabase(dbName); } /** * * 清除/data/data/com.xxx.xxx/files下的内容 * * * * @param context */ public static void cleanFiles(Context context) { deleteFilesByDirectory(context.getFilesDir()); } /** * * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param context */ public static void cleanExternalCache(Context context) { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { deleteFilesByDirectory(context.getExternalCacheDir()); } } /** * * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 * * * * @param filePath * */ public static void cleanCustomCache(String filePath) { deleteFilesByDirectory(new File(filePath)); } /** * * 清除本应用所有的数据 * * * * @param context * @param filepath */ public static void cleanApplicationData(Context context, String... filepath) { cleanInternalCache(context); cleanExternalCache(context); cleanDatabases(context); cleanSharedPreference(context); cleanFiles(context); if (filepath == null) { return; } for (String filePath : filepath) { cleanCustomCache(filePath); } } /** * * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 * * * * @param directory */ private static void deleteFilesByDirectory(File directory) { if (directory != null && directory.exists() && directory.isDirectory()) { for (File item : directory.listFiles()) { item.delete(); } } } // 获取文件 //Context.getExternalFilesDir() --> SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据 //Context.getExternalCacheDir() --> SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据 public static long getFolderSize(File file) throws Exception { long size = 0; try { File[] fileList = file.listFiles(); for (int i = 0; i < fileList.length; i++) { // 如果下面还有文件 if (fileList[i].isDirectory()) { size = size + getFolderSize(fileList[i]); } else { size = size + fileList[i].length(); } } } catch (Exception e) { e.printStackTrace(); } return size; } /** * 删除指定目录下文件及目录 * * @param deleteThisPath * @param filepath * @return */ public static void deleteFolderFile(String filePath, boolean deleteThisPath) { if (!TextUtils.isEmpty(filePath)) { try { File file = new File(filePath); if (file.isDirectory()) {// 如果下面还有文件 File files[] = file.listFiles(); for (int i = 0; i < files.length; i++) { deleteFolderFile(files[i].getAbsolutePath(), true); } } if (deleteThisPath) { if (!file.isDirectory()) {// 如果是文件,删除 file.delete(); } else {// 目录 if (file.listFiles().length == 0) {// 目录下没有文件或者目录,删除 file.delete(); } } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** * 格式化单位 * * @param size * @return */ public static String getFormatSize(double size) { double kiloByte = size / 1024; if (kiloByte < 1) { return size + "Byte"; } double megaByte = kiloByte / 1024; if (megaByte < 1) { BigDecimal result1 = new BigDecimal(Double.toString(kiloByte)); return result1.setScale(2, BigDecimal.ROUND_HALF_UP) .toPlainString() + "KB"; } double gigaByte = megaByte / 1024; if (gigaByte < 1) { BigDecimal result2 = new BigDecimal(Double.toString(megaByte)); return result2.setScale(2, BigDecimal.ROUND_HALF_UP) .toPlainString() + "MB"; } double teraBytes = gigaByte / 1024; if (teraBytes < 1) { BigDecimal result3 = new BigDecimal(Double.toString(gigaByte)); return result3.setScale(2, BigDecimal.ROUND_HALF_UP) .toPlainString() + "GB"; } BigDecimal result4 = new BigDecimal(teraBytes); return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "TB"; } public static String getCacheSize(File file) throws Exception { return getFormatSize(getFolderSize(file)); } }
需要修改的地方
private static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
}
改后的工具类
/*** Created by pc on 2016/6/7.*/
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.os.Environment;
import android.text.TextUtils;import java.io.File;
import java.math.BigDecimal;/** * 本应用数据清除管理器 */
public class DataCleanManager {/*** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * *** @param context*/public static void cleanInternalCache(Context context) {deleteFilesByDirectory(context.getCacheDir());}/*** * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * *** @param context*/public static void cleanDatabases(Context context) {deleteFilesByDirectory(new File("/data/data/"+ context.getPackageName() + "/databases"));}/*** * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) *** @param context*/public static void cleanSharedPreference(Context context) {deleteFilesByDirectory(new File("/data/data/"+ context.getPackageName() + "/shared_prefs"));}/*** * 按名字清除本应用数据库 * *** @param context* @param dbName*/public static void cleanDatabaseByName(Context context, String dbName) {context.deleteDatabase(dbName);}/*** * 清除/data/data/com.xxx.xxx/files下的内容 * *** @param context*/public static void cleanFiles(Context context) {deleteFilesByDirectory(context.getFilesDir());}/*** * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache)** @param context*/@TargetApi(Build.VERSION_CODES.FROYO)public static void cleanExternalCache(Context context) {if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {deleteFilesByDirectory(context.getExternalCacheDir());}}/*** * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 * *** @param filePath* */public static void cleanCustomCache(String filePath) {deleteFilesByDirectory(new File(filePath));}/*** * 清除本应用所有的数据 * *** @param context* @param filepath*/public static void cleanApplicationData(Context context, String... filepath) {cleanInternalCache(context);cleanExternalCache(context);cleanDatabases(context);cleanSharedPreference(context);cleanFiles(context);if (filepath == null) {return;}for (String filePath : filepath) {cleanCustomCache(filePath);}}/*** * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 * *** @param*/
// private static void deleteFilesByDirectory(File directory) {
// if (directory != null && directory.exists() && directory.isDirectory()) {
// for (File item : directory.listFiles()) {
// item.delete();
// }
// }
// }private static boolean deleteFilesByDirectory(File dir) {if (dir != null && dir.isDirectory()) {String[] children = dir.list();for (int i = 0; i < children.length; i++) {boolean success = deleteFilesByDirectory(new File(dir, children[i]));if (!success) {return false;}}}return dir.delete();}// 获取文件//Context.getExternalFilesDir() --> SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据//Context.getExternalCacheDir() --> SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据public static long getFolderSize(File file) throws Exception {long size = 0;try {File[] fileList = file.listFiles();for (int i = 0; i < fileList.length; i++) {// 如果下面还有文件if (fileList[i].isDirectory()) {size = size + getFolderSize(fileList[i]);} else {size = size + fileList[i].length();}}} catch (Exception e) {e.printStackTrace();}return size;}/*** 删除指定目录下文件及目录** @param deleteThisPath* @param* @return*/public static void deleteFolderFile(String filePath, boolean deleteThisPath) {if (!TextUtils.isEmpty(filePath)) {try {File file = new File(filePath);if (file.isDirectory()) {// 如果下面还有文件File files[] = file.listFiles();for (int i = 0; i < files.length; i++) {deleteFolderFile(files[i].getAbsolutePath(), true);}}if (deleteThisPath) {if (!file.isDirectory()) {// 如果是文件,删除file.delete();} else {// 目录if (file.listFiles().length == 0) {// 目录下没有文件或者目录,删除file.delete();}}}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}/*** 格式化单位** @param size* @return*/public static String getFormatSize(double size) {double kiloByte = size / 1024;if (kiloByte < 1) {return size + "Byte";}double megaByte = kiloByte / 1024;if (megaByte < 1) {BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));return result1.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "KB";}double gigaByte = megaByte / 1024;if (gigaByte < 1) {BigDecimal result2 = new BigDecimal(Double.toString(megaByte));return result2.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "MB";}double teraBytes = gigaByte / 1024;if (teraBytes < 1) {BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));return result3.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "GB";}BigDecimal result4 = new BigDecimal(teraBytes);return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()+ "TB";}public static String getCacheSize(File file) throws Exception {return getFormatSize(getFolderSize(file));}}
在代码中的运用
String result1 = DataCleanManager.getCacheSize(mContext.getExternalCacheDir());//SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据L.v("SettingActivity", "1-->" + result1);String result2 = DataCleanManager.getCacheSize(mContext.getCacheDir());//data/data/cacheL.v("SettingActivity", "2-->" + result2);ToastUtil.showShort(mContext, "您已经清理了" + result1 + result2 + "的缓存");DataCleanManager.cleanInternalCache(mContext);DataCleanManager.cleanExternalCache(mContext);
// String result3 = DataCleanManager.getCacheSize(mContext.getExternalFilesDir());//SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据
// L.v("SettingActivity", "3-->" + result3);} catch (Exception e) {e.printStackTrace();}
最新代码
在代码中的运用显示和删除逻辑
//Context.getExternalFilesDir() --> SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据//Context.getExternalCacheDir() --> SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据String resultCache1 = DataCleanManager.getCacheSize(mContext.getExternalCacheDir());//SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据L.v("SettingActivity", "1-->" + resultCache1);String resultCache2 = DataCleanManager.getCacheSize(mContext.getCacheDir());//data/data/cacheL.v("SettingActivity", "2-->" + resultCache2);String resultCache3 = DataCleanManager.getTotalCacheSize(mContext);
// String resultCache3 = DataCleanManager.getCacheSize(mContext.getFilesDir());
// L.v("SettingActivity", "3-->" + "" + resultCache3);if (resultCache1 != null & resultCache2 != null) {resultCacheTwo = Long.parseLong(resultCache1) + Long.parseLong(resultCache2);}//把bytes字符型转换为有kb Mb的字符型String resultAll = DataCleanManager.getFormatSize(resultCacheTwo);toastShort( "您已经清理了" + resultAll + "的缓存");/** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * **/DataCleanManager.cleanInternalCache(mContext);/*** * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache)*/DataCleanManager.cleanExternalCache(mContext);/*** * 清除/data/data/com.xxx.xxx/files下的内容 * **/DataCleanManager.cleanFiles(mContext);
DataCleanManager
package com.ailisi.myn.utils;/*** Created by pc on 2016/6/7.*/import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.os.Environment;
import android.text.TextUtils;import java.io.File;
import java.math.BigDecimal;/** * 本应用数据清除管理器 */
public class DataCleanManager {public static String getTotalCacheSize(Context context) throws Exception {long cacheSize = getFolderSize(context.getCacheDir());if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {cacheSize += getFolderSize(context.getExternalCacheDir());}return getFormatSize(cacheSize);}public static void clearAllCache(Context context) {deleteDir(context.getCacheDir());if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {deleteDir(context.getExternalCacheDir());}}private static boolean deleteDir(File dir) {if (dir != null && dir.isDirectory()) {String[] children = dir.list();for (int i = 0; i < children.length; i++) {boolean success = deleteDir(new File(dir, children[i]));if (!success) {return false;}}}return dir.delete();}/*** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * *** @param context*/public static void cleanInternalCache(Context context) {deleteFilesByDirectory(context.getCacheDir());}/*** * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * *** @param context*/public static void cleanDatabases(Context context) {deleteFilesByDirectory(new File("/data/data/"+ context.getPackageName() + "/databases"));}/*** * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) *** @param context*/public static void cleanSharedPreference(Context context) {deleteFilesByDirectory(new File("/data/data/"+ context.getPackageName() + "/shared_prefs"));}/*** * 按名字清除本应用数据库 * *** @param context* @param dbName*/public static void cleanDatabaseByName(Context context, String dbName) {context.deleteDatabase(dbName);}/*** * 清除/data/data/com.xxx.xxx/files下的内容 * *** @param context*/public static void cleanFiles(Context context) {deleteFilesByDirectory(context.getFilesDir());}/*** * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache)** @param context*/@TargetApi(Build.VERSION_CODES.FROYO)public static void cleanExternalCache(Context context) {if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {deleteFilesByDirectory(context.getExternalCacheDir());}}/*** * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 * *** @param filePath* */public static void cleanCustomCache(String filePath) {deleteFilesByDirectory(new File(filePath));}/*** * 清除本应用所有的数据 * *** @param context* @param filepath*/public static void cleanApplicationData(Context context, String... filepath) {cleanInternalCache(context);cleanExternalCache(context);cleanDatabases(context);cleanSharedPreference(context);cleanFiles(context);if (filepath == null) {return;}for (String filePath : filepath) {cleanCustomCache(filePath);}}/*** * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 * *** @param*/
// private static void deleteFilesByDirectory(File directory) {
// if (directory != null && directory.exists() && directory.isDirectory()) {
// for (File item : directory.listFiles()) {
// item.delete();
// }
// }
// }private static boolean deleteFilesByDirectory(File dir) {if (dir != null && dir.isDirectory()) {String[] children = dir.list();for (int i = 0; i < children.length; i++) {boolean success = deleteFilesByDirectory(new File(dir, children[i]));if (!success) {return false;}}}return dir.delete();}// 获取文件//Context.getExternalFilesDir() --> SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据//Context.getExternalCacheDir() --> SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据public static long getFolderSize(File file) throws Exception {long size = 0;try {File[] fileList = file.listFiles();for (int i = 0; i < fileList.length; i++) {// 如果下面还有文件if (fileList[i].isDirectory()) {size = size + getFolderSize(fileList[i]);} else {size = size + fileList[i].length();}}} catch (Exception e) {e.printStackTrace();}return size;}/*** 删除指定目录下文件及目录** @param deleteThisPath* @param* @return*/public static void deleteFolderFile(String filePath, boolean deleteThisPath) {if (!TextUtils.isEmpty(filePath)) {try {File file = new File(filePath);if (file.isDirectory()) {// 如果下面还有文件File files[] = file.listFiles();for (int i = 0; i < files.length; i++) {deleteFolderFile(files[i].getAbsolutePath(), true);}}if (deleteThisPath) {if (!file.isDirectory()) {// 如果是文件,删除file.delete();} else {// 目录if (file.listFiles().length == 0) {// 目录下没有文件或者目录,删除file.delete();}}}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}/*** 格式化单位** @param size* @return*/public static String getFormatSize(long size) {double kiloByte = size/1024;if (kiloByte < 1) {return size + "B";}double megaByte = kiloByte/1024;L.v("SettingActivity", "kiloBytes=="+kiloByte);L.v("SettingActivity", "megaByte=="+megaByte);if (megaByte < 1) {BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));return result1.setScale(1, BigDecimal.ROUND_HALF_UP).toPlainString() + "KB";}double gigaByte = megaByte / 1024;if (gigaByte < 1) {BigDecimal result2 = new BigDecimal(Double.toString(megaByte));return result2.setScale(1, BigDecimal.ROUND_HALF_UP).toPlainString() + "MB";}L.v("SettingActivity", "gigaByte=="+gigaByte);double teraBytes = gigaByte / 1024;if (teraBytes < 1) {BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));return result3.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "GB";}BigDecimal result4 = new BigDecimal(teraBytes);return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()+ "TB";// //如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义
// if (size < 1024) {
// return String.valueOf(size/1024) + "kb";//kb
// } else {
// size = size / 1024; //kb
// }
// //如果原字节数除于1024之后,少于1024,则可以直接以KB作为单位
// //因为还没有到达要使用另一个单位的时候
// //接下去以此类推
// if (size < 1024) {
// return String.valueOf(size) + "kB";//kb
// } else {
// size = size / 1024; //mb
// }
// if (size < 1024) {
// //因为如果以MB为单位的话,要保留最后1位小数,
// //因此,把此数乘以100之后再取余
// size = size * 100;
// return String.valueOf((size / 100)) + "."
// + String.valueOf((size % 100)) + "MB";
// } else {
// //否则如果要以GB为单位的,先除于1024再作同样的处理
// size = size * 100 / 1024;
// return String.valueOf((size / 100)) + "."
// + String.valueOf((size % 100)) + "GB";
// }}public static String getCacheSize(File file) throws Exception {return String.valueOf(getFolderSize(file));}}
一些常见的文件的地方
* @author Michael Yang(www.yangfuhai.com) update at 2013.08.07* getCacheDir()方法用于获取/data/data/<application package>/cache目录
getFilesDir()方法用于获取/data/data/<application package>/files目录
通过Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据
通过Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据
可以看到,当SD卡存在或者SD卡不可被移除的时候,就调用getExternalCacheDir()方法来获取缓存路径,否则就调用getCacheDir()方法来获取缓存路径。前者获取到的就是 /sdcard/Android/data/<application package>/cache 这个路径,而后者获取到的是 /data/data/<application package>/cache 这个路径。(这里是内部存储)
清除缓存是清除内外sd卡的缓存
参考链接 http://www.2cto.com/kf/201503/385492.html
http://www.bkjia.com/Androidjc/887665.html
android 显示清除缓存相关推荐
- android清除缓存 代码,Android应用开发之Android应用清除缓存一般清理目录和代码的教程...
本文将带你了解Android应用开发Android应用清除缓存一般清理目录和代码的教程,希望本文对大家学Android有所帮助. 一个应用安装完成,会有缓存,缓存一般分为内部存储的和外置的,内存中路径 ...
- Android studio 清除缓存数据的步骤
导读:在eclipse的当中进行运行Android的运用的程序的时候,就会产生内存缓存的信息,而eclipse是可以直接点击停止运行程序,然后点击清除缓存,就可以解决了这个问题,而Android st ...
- android WebView清除缓存
当我们加载Html时候,会在我们data/应用package下生成database与cache两个文件夹,我们请求的Url记录是保存在webviewCache.db里,而url的内容是保存在webvi ...
- android pad 清除缓存,ipad清理缓存经验介绍
ipad清理缓存经验介绍 导语:ipad清理缓存经验介绍?快速清除缓存(Quick App Manager)Quick App Clean Cache 能够列出手机中所有 Android 软件的缓存, ...
- android glide 清除缓存,安卓内存清理之Glide
项目中使用了glide加载图片 设置中要求能够清理用户缓存 计算缓存大小: new GetDiskCacheSizeTask().execute(new File(context.getCacheDi ...
- Android WebView清除缓存,总有一个方法适合你
一,缓存介绍 缓存分为:页面缓存和数据缓存 页面缓存: 指加载一个网页时的html.JS.CSS等页面或者资源数据. 数据缓存 : 数据缓存分为AppCache和DOM Storage两种. 一般清除 ...
- Android中清除缓存
有时候会遇到要清除应用缓存的功能,不经常用,总忘,所以在这里总结,实际价值个人感觉不大. /*** 缓存管理类*/ public class DataCleanManager {/*** 获取缓存大小 ...
- Android 程序常用功能《清除缓存》
用户在使用我们所研发的App的时候,通常都会遇到如下的问题: 使用过程中可能会遇到应用程序或软件更新失败,因为用户的智能手机存储空间不足. 由于应用程序崩溃和其他问题,用户的数字设备运行速度比以前慢. ...
- android刷新蓝牙缓存,如何使用GattServer以编程方式清除蓝牙缓存
我对BLE稍微熟悉,我在使用inheritance的代码时遇到了一些问题. 所以应用程序的工作原理如下: 启用BLE后,应用程序会扫描设备 该应用程序显示find的设备 用户选择要配对的设备 该应用与 ...
最新文章
- 什么是 prelink
- 关于数据库group by需要注意
- spring 可以有多个ioc容器吗
- ARM处理器的工作状态
- AngularJs中,如何在ng-repeat完成之后,执行Js脚本
- cgo的效率 golang_golang CGO FAQ TIPS : cgo 从 C 传递 slice 到 go
- 灰色预测法 —— python
- 增值电信业务许可,经营性icp证书自助申请教程【详细】
- 在InternetExplorer.Application中显示本地图片
- 第十六章 复杂的抽像类结构
- mac系统升级 brew 是用不了_MAC平台10款效率工具推荐
- Kalman Filter 递归算法
- python典型安装_python安装某些第三方包报错解决办法
- 分页控件-Kaminari
- Vue播放m3u8视频格式的视频监控(适合移动端和pc端),用了Video.js,以及多视频列表循环播放代码,已测试,可播放
- 全球顶尖公司的七大设计理念
- 不要用战术上的勤奋掩盖战略上的懒惰
- mysql更新表时自动生成时间和更新时间
- DebugView 简单使用
- Linux系统下的目录树结构
热门文章
- c语言突然出现图片,c语言能显示图片吗
- Timeline中让你事半功倍的工具链
- deque用法深度解析,一篇文章弄懂deque容器各种操作
- Visual Studio中的第一个Django-Python应用程序
- python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)
- oracle fm s,FM连接oracle出错的问题??
- python 表白程序代码_python抖音表白程序源代码
- 递增的整数序列链表的插入_程序员:数据结构——链表List、ArrayList、LinkedList...
- css3仿天气风车旋转
- ionic4 双向绑定