工具类

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 显示清除缓存相关推荐

  1. android清除缓存 代码,Android应用开发之Android应用清除缓存一般清理目录和代码的教程...

    本文将带你了解Android应用开发Android应用清除缓存一般清理目录和代码的教程,希望本文对大家学Android有所帮助. 一个应用安装完成,会有缓存,缓存一般分为内部存储的和外置的,内存中路径 ...

  2. Android studio 清除缓存数据的步骤

    导读:在eclipse的当中进行运行Android的运用的程序的时候,就会产生内存缓存的信息,而eclipse是可以直接点击停止运行程序,然后点击清除缓存,就可以解决了这个问题,而Android st ...

  3. android WebView清除缓存

    当我们加载Html时候,会在我们data/应用package下生成database与cache两个文件夹,我们请求的Url记录是保存在webviewCache.db里,而url的内容是保存在webvi ...

  4. android pad 清除缓存,ipad清理缓存经验介绍

    ipad清理缓存经验介绍 导语:ipad清理缓存经验介绍?快速清除缓存(Quick App Manager)Quick App Clean Cache 能够列出手机中所有 Android 软件的缓存, ...

  5. android glide 清除缓存,安卓内存清理之Glide

    项目中使用了glide加载图片 设置中要求能够清理用户缓存 计算缓存大小: new GetDiskCacheSizeTask().execute(new File(context.getCacheDi ...

  6. Android WebView清除缓存,总有一个方法适合你

    一,缓存介绍 缓存分为:页面缓存和数据缓存 页面缓存: 指加载一个网页时的html.JS.CSS等页面或者资源数据. 数据缓存 : 数据缓存分为AppCache和DOM Storage两种. 一般清除 ...

  7. Android中清除缓存

    有时候会遇到要清除应用缓存的功能,不经常用,总忘,所以在这里总结,实际价值个人感觉不大. /*** 缓存管理类*/ public class DataCleanManager {/*** 获取缓存大小 ...

  8. Android 程序常用功能《清除缓存》

    用户在使用我们所研发的App的时候,通常都会遇到如下的问题: 使用过程中可能会遇到应用程序或软件更新失败,因为用户的智能手机存储空间不足. 由于应用程序崩溃和其他问题,用户的数字设备运行速度比以前慢. ...

  9. android刷新蓝牙缓存,如何使用GattServer以编程方式清除蓝牙缓存

    我对BLE稍微熟悉,我在使用inheritance的代码时遇到了一些问题. 所以应用程序的工作原理如下: 启用BLE后,应用程序会扫描设备 该应用程序显示find的设备 用户选择要配对的设备 该应用与 ...

最新文章

  1. 什么是 prelink
  2. 关于数据库group by需要注意
  3. spring 可以有多个ioc容器吗
  4. ARM处理器的工作状态
  5. AngularJs中,如何在ng-repeat完成之后,执行Js脚本
  6. cgo的效率 golang_golang CGO FAQ TIPS : cgo 从 C 传递 slice 到 go
  7. 灰色预测法 —— python
  8. 增值电信业务许可,经营性icp证书自助申请教程【详细】
  9. 在InternetExplorer.Application中显示本地图片
  10. 第十六章 复杂的抽像类结构
  11. mac系统升级 brew 是用不了_MAC平台10款效率工具推荐
  12. Kalman Filter 递归算法
  13. python典型安装_python安装某些第三方包报错解决办法
  14. 分页控件-Kaminari
  15. Vue播放m3u8视频格式的视频监控(适合移动端和pc端),用了Video.js,以及多视频列表循环播放代码,已测试,可播放
  16. 全球顶尖公司的七大设计理念
  17. 不要用战术上的勤奋掩盖战略上的懒惰
  18. mysql更新表时自动生成时间和更新时间
  19. DebugView 简单使用
  20. Linux系统下的目录树结构

热门文章

  1. c语言突然出现图片,c语言能显示图片吗
  2. Timeline中让你事半功倍的工具链
  3. deque用法深度解析,一篇文章弄懂deque容器各种操作
  4. Visual Studio中的第一个Django-Python应用程序
  5. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)
  6. oracle fm s,FM连接oracle出错的问题??
  7. python 表白程序代码_python抖音表白程序源代码
  8. 递增的整数序列链表的插入_程序员:数据结构——链表List、ArrayList、LinkedList...
  9. css3仿天气风车旋转
  10. ionic4 双向绑定