最近需要写一个文件拷贝的代码,除了传统流的方式以外,考虑到android是基于linux内核上的一层虚拟机实现,可以调用linux内置的一些常用的shell命令,因此首先想到cp,但是遗憾的是android貌似没有提供这个命令。当然,可以用dd if=/sdcard/a.mp3 of=/sdcard/b.mp3实现,本来以为内置的shell命令是c编译的,效率应该比java流快,但是实际测试拷贝一个30多m的pdf文件,多次取样平均值以后,发现在模拟器里面,java流要比dd命令要快8-10s的时间,差距非常明显。现在就有点疑惑了,首先,是dd命令本身的问题,其本身效率实现就比较底下吗?(linux菜鸟,没看过dd源码)其次是android的虚拟机到底做了什么处理,导致这种差异?优化效果有这么明显吗?

更多相关文章

  1. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  2. 如何在后台运行Linux命令?
  3. No.11 使用firewall配置的防火墙策略的生效模式
  4. [置顶] Android开发学习之一——Android全景概述
  5. 科大讯飞Android语音识别onResult()方法的理解
  6. 真心不想骂android的虚拟机
  7. [转]Android(安卓)init 启动过程分析
  8. Android逆向破解之Mointor查看目标日志
  9. Android开发学习之一——Android全景概述

随机推荐

  1. Android开机自动启动Wi-Fi热点的方法
  2. Android实例剖析笔记(三)
  3. 如何在Android(安卓)Studio中导入包:andro
  4. Android与iOS:谁更适合HTML 5?
  5. Android中一张图片加载后所占用内存大小
  6. android studio配置系列 - 收藏集 - 掘金
  7. 使用delphi 开发多层应用(十三)使用Basic4a
  8. (转载)Android下Affinities和Task
  9. Android中称为四大组件
  10. activity 生命周期