安卓手机安卓最好用的文件管理理里的artfilter什么意思

安卓手机内存卡的文件夹是什么意思_百度知道
安卓手机内存卡的文件夹是什么意思
请问这些文件夹都是什么意思啊?麻烦详细一点我会采纳的哦!
我有更好的答案
 SD卡中的文件夹,基本上都是系统软件和第三方软件的数据存储的地方。一般看文件夹名称就能看出是属于哪个软件的。比如tencent,就是腾讯的英文名,自然就是QQ和微信的数据所在地。微信传送的图片什么的,都在这里。  另外,常见的文件夹名称及其作用如下:一、系统数据类——系统文件存储相关文件夹  1、.android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用。  2、Android:存放重要的程序数据,比如google:map的地图缓存,误删掉后地图还需重新下载。  3、backups:包含重要的备份文件,比如联系人导出到SD卡会导入到此文件夹。  4、bugtogo:系统出现问题的时候会形成一些报告文件,存放在此文件夹。  5、data:缓存数据文件夹,与Android类似。例如,“截图助手”截图保存在datacom.edwardkim.android.screenshotitfullscreenshots里。  6、LOST.DIR:卡上丢失或出错的文件会移动到这里,此目录删了会自动生成。  7、SystemAppBackup:SystemApp remove(深度卸载)备份系统文件后,备份文件保存的目录。  8、bugreports:升级系统或刷机,系统和程序发生兼容错误报告列表(包括内存使用全部内容)将保存在这个文件,重起机器可以删除。  9、.keepsafe:隐藏类的软件、加密保存文件地址存放于此。  10、.thumbs:浏览或使用某一软件,以及使用某一文件夹后用于记录次数和内容的文件,随机产生,需要定期不断清除,长时间不清理会大量占用储存卡的有效空间。  11、openfeint:打开联接网络后的一个启动程序,它广泛植入移动类平台发布的软件或游戏,是更新下载或评论反馈信息的记录地址,可删除。  12、com:播放类软件在收看播放影视节目生成的文件将存放于此,可以对制作方反映回馈信息,可以删除。  13、Download(download):大写字母的是网络联接下载文件目录,小写字母的是手机自身(蓝牙,近场等)存放下载传输文件,不要误删。二、系统工具类——系统自带工具相关文件夹  1、albumart:音乐专辑封面的缓存文件夹。  2、albums:相册缩略图的缓存文件夹。  3、cmp:音乐的缓存文件夹。  4、Playlists:播放列表的缓存文件夹。  5、DCIM:相机随机缓存文件夹,记录功能设置的参数,需要及时清理。一些第三方相机软件拍出的相片也会保存在这里,比如360或晕影相机等。  6、VPN:VPN数据的缓存目录。  7、My documents:手机启用各种程序任务记录的文档,需要定期清除,长时间不清理会占用SD卡较大内存。  8、.nomedia:手机中隐藏的音频、图片文件夹都会在这里显示,可以自设在相关文件夹中。  9、media:使用电话通话录音软件或在线浏览视频等媒体产生的音频文件记录存档将保存在此。  10、.medieval_software:启用蓝牙传输软件时,记录任务保存文件的目录。  11、extracted:解压缩软件默认的解压目录。三、第三方应用类  1、.mobo:Moboplayer的缓存文件。  2、.QQ:QQ的缓存文件,需要定期清除。  3、.quickoffice:quickoffice的缓存文件。  4、.switchpro:switchprowidget(多键开关应用)的缓存文件。  5、.ucdlres:UC迅雷的缓存文件。  6、baidu:掌上百度、百度输入法之类程序的缓存文件夹。  7、etouch:易行的缓存文件夹。  8、documents:Documents To Go的相关文件夹。  9、gameloft:gameloft游戏数据包存放的文件夹。  10、handcent:handcent(超级短信)数据文件夹。  11、handyCurrency:货币汇率相关的文件夹,装了handycalc(科学计算器)之后才会有。  12、ireader:ireader的缓存文件夹。  13、KingReader:开卷有益的缓存文件夹:下载的文件和应用都在这儿:删除时留意看清  14、LazyList:Applanet的缓存目录,慎重使用。  15、moji:墨迹天气的缓存目录。  16、MusicFolders:poweramp产生的缓存文件夹。  17、openfeint:openfeint的缓存文件夹。  18、Picstore:图片浏览软件建立的一个目录。  19、renren:人人网客户端的缓存文件夹。  20、screenshot:截屏图片保存的目录。  21、ShootMe:shootme截屏后图片文件保存的目录。  22、SmartpixGames:Smartpix Games出品游戏的缓存文件夹,比如Jewellust。  23、sogou:搜狗拼音输入法的随机缓存文件夹,可以删除。  24、SpeedSoftware:RE文件管理器的缓存文件夹。  25、TalkingFriends:talking tom(会说话的tom猫)录制的视频文件所保存的目录。  26、Tencent:腾讯软件的缓存目录,比如QQ。(与上面的.QQ文件夹并不相同)  27、TitaniumBackup:钛备份备份的程序所保存的目录。  28、TunnyBrowser:感觉是海豚浏览器的缓存目录,但为什么叫这个名字?金枪鱼浏览器...。.  29、UCDLFiles:UC迅雷下载文件的保存目录。  30、UCDownloads:UC浏览器下载文件缓存的保存目录。  31、VIE:Vignette(晕影相机)的缓存目录。  32、yd_historys:有道词典搜索历史的缓存目录  33、yd_speech:有道词典单词发音的缓存目录。  34、youmicache:删掉后还会自动生成,悠米广告的缓存目录,广告程序内嵌在其程序中。  35、Glu:Glu系列游戏的资料包存放地,如3D猎鹿人,勇猛二兄弟等。  36、apadqq-images:QQ for pad的缓存目录。  37、DunDef:地牢守护者的数据包。  38、KuwoMusic:酷我音乐的相关文件夹。  39、MxBrowser:遨游的缓存目录。  40、Camera360:相机camera360的随机缓存目录,可以定期清除。  41、TTPod:天天动听的缓存目录。  42、downloaded:刷了MIUI,升级后的ZIP刷机包,保存在downloaded_rom里。  43、.estrongs:当你使用了ES文件管理器解压文件,会有这个缓存记录。它反映使用进程,可以删除。  44、silentR:用了后台录音软件,自生的音频文件夹,子文件夹phoneCalls,定期管理清除  45、3D-compass:这是使用实景指南针软件,生成的景象图片(图像和数字比较详细)文件夹,可以清除。  46、PDF:可移植文档格式,Pdf阅读器存储文件夹。  47、Zidan youdao:是字典的词库文件储存,删除了要重新下载词库。  48、Callrecords:采用第三方强制双向录音软件(手机未root),音频文件保存。  49、VPlayer Pro:是MOBO等视频播放器使用后的记录定期删除。  50、BeWeather(Videos):是气象类软件(如黑莓天气.。.等)附加下载音频或动画图标的储存地址,删除了会无图无声显示。  51、thumbnails:用第三方播放器观看手持移动类视频媒体时,存放点击暂停、随机截图以及文件储存时产生的内容。  52、iQuran(meta2):可兰经浏览文本和音频的储存文件。  53、Autodesk:手机系统自带存储器命令生成文件夹:储存图像或编写文稿,可以查看、备份或者删除。  54、PixlrOMatic:后期特效处理图片软件Pixlo,储存文件夹,打开可以预览看效果。  55、mapbar:图吧导航地图存放文件,有必须主文件和不同地区具体地图,主文件删掉要重下!  56、antTTS:是使用了高德导航选择语音种类导航、语种的下载地址,删掉了语音提示会丢失。  57、kingsoft:金山词霸专用文件夹下载储存词库、更新拓展文汇(官方发布修正补充)。  58、NightVisionCamera:夜间拍照相机相片存放的地址。  59、DSA:电子狗专用夹,收录各地区道路探头监控位置信息,会定期更新。已测试配合高德、凯立德提前预警,效果不错。  60、apexlauncher:尖端桌面启动器文件夹,位置在andriod/data/,放置桌面设置备份bak文件。
数码网络营销专家
内存卡里的文件夹一般都与你安装的程序对应的,他们是你安装的程序在应用过程中产生的数据与文件的存储目录。比如你的第一个文件夹就是安卓系统安全应用的数据存储文件夹。每个文件夹都与你系统的应用对应的。有些名字我也没见我,要看你装的什么应用程序。Android,安卓系统设定的个别数据。baofeng,暴风影音,DCIM应该是照片,Holidaydownload,什么假日下载。readingjoy,阅读软件。QQsecuredownload,QQ管家下载文件,skymarket,天空市场,tencent,腾讯。music音乐,video,视频,YYmusic,YY音乐。看来你装的游戏比较少。也没有360。
我手机安装了360而且我确定是安装在内存卡上 不是手机上为什么没有360的文件夹你,还有请问doc和txt等格式的电子书放到那个文件夹下 谢谢了!
所有的文件夹都是你的程序产生数据了才有可能有,而且很多文件产生的文件夹是在你的USB文件夹中产生的,不是SD卡里。所以不一定你的360安全卫士就一定会有文件夹,至于你说的TXT和DOC等电子书在那里,那些不是应用程序,是不会自动生成的,这要看你自己放在那里了。如果是你用电脑传过去的,那就看你自己放哪里了,如果是蓝牙,那就在BLUETOOTH里面,如果是你通过手机自身的浏览器下载的那就在DOWNLOAD里面,如果是别的浏览器,那就在浏览器目录的DOWNLOAD文件里面。
本回答被提问者采纳
这些文件夹是系统和你安装的软件运行时储存在sd卡里的文件,比如你运行qq浏览器,那么sd卡就会新建对应的浏览器,把运行过程中的数据比如图片,网页等文件存在里面,如果你已经卸载了该软件,你就可以直接把文件夹删除了,否则sd卡的文件夹越来越多。
本回答被网友采纳
就是内存卡里的所存在的文件。
文件夹是英文名称对应的意思如下,数量太多只列举部分Received 收到的文件Images 影像Audio 视频Vcard
电子商务卡片(主要用于记录通讯薄的联系人信息等,方面不同设备之间的数据交换)map 地图Video 声音mythroad
我的路径,是存放游戏用的
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
安卓手机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客分类:
1.我们需要得到一些路径,某个文件目录下的。比如:"/kgmusic/download/' 下的。我打开手机看的是这个路径。
2. 我们是为了筛选出.MP3 文件。然后显示。不希望出现说显示所有的文件
3.确定用怎么样的方式用ListActivity 还是SimpleAdapter 通过list显示在自己自定的xml文件中
实现第一个条件:
1. 这是有点傻哈, 我是这样的。我们在手机中看到路经不一定android 所对应的路经。怎么看呢。可以通过adb shell 去显示。比如说:"/kgmusic/download/' 。它在Android下的路径其实是"/sdcard/kgmusic/download/"
// 存放着音乐文件的路径
private final String MUSIC_PATH = "/sdcard/kgmusic/download/";
2.我们去实现FilenameFilter这个接口,取到filename结尾是.MP3的文件
// 用来去筛选出对应的.mp3文件
class musicfilter implements FilenameFilter {
* accept方法的两个参数的意义: dir:文件夹对像,也就是你原来调用list方法的File文件夹对像 name:当前判断的文件名,
* 这个文件名就是文件夹下面的文件
* 返回:这个文件名是否符合条件,当为true时,list和listFiles方法会把这个文件加入到返回的数组里,false时则不会加入
public boolean accept(File dir, String filename) {
// TODO Auto-generated method stub
return (filename.endsWith(".mp3"));
// 将这个文件显示在Listview 下 。我这里用的SimpleAdapter适配器去实现的。这里要两个xml.SetAlarm.this是这个本地Activity
private void ListSongsName() {
//首先是要得到music文件的路径
File file=new File(MUSIC_PATH);
List&Map&String,Object&& list= new ArrayList&Map&String,Object&&();
//将所有的文件加入到一个list文件中
if(file.list(new musicfilter()).length&0){
for (File file1 : file.listFiles(new musicfilter())){
Map&String,Object& map=new HashMap&String, Object&();
map.put("filename",new EFfile(file1).getFile().getName());
list.add(map);
SimpleAdapter sa= new SimpleAdapter(SetAlarm.this, list,
R.layout.musiclist, new String[]{"filename"}, new int[]{R.id.MusicItem} );
listview.setAdapter(sa);
贴下对应的mustlist.xml 文件吧
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" &
android:id="@+id/MusicItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
&/LinearLayout&
浏览: 12470 次
来自: 深圳
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'手机系统文件里面有个media的文件夹是有什么作用的_百度知道
手机系统文件里面有个media的文件夹是有什么作用的
文件夹里面有很多声音文件 但是又用不到 铃声和短信通知里面都没有 请问一下 里面的声音文件可以删除吗?
我有更好的答案
media是影音文件的文件夹
手机下载的电影就会存储到里面
采纳率:75%
为您推荐:
其他类似问题
手机系统的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。手机里哪些文件是可以删除的?_百度知道
手机里哪些文件是可以删除的?
  系统数据类——系统文件存储相关文件夹  1、.android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用。  2、Android:存放重要的程序数据,比如google:map的地图缓存,误删掉后地图还需重新下载。  3、backups:包含重要的备份文件,比如联系人导出到SD卡会导入到此文件夹。  4、bugtogo:系统出现问题的时候会形成一些报告文件,存放在此文件夹。  5、data:缓存数据文件夹,与Android类似。例如,“截图助手”截图保存在  data\com.edwardkim.android.screenshotitfull\screenshots里。  6、LOST.DIR:卡上丢失或出错的文件会移动到这里,此目录删了会自动生成。  7、SystemAppBackup:SystemApp remove(深度卸载)备份系统文件后,备份文件保存的目录。  8、bugreports:升级系统或刷机,系统和程序发生兼容错误报告列表(包括内存使用全部内容)将保存在这个文件,重起机器可以删除。  9、.keepsafe:隐藏类的软件、加密保存文件地址存放于此。  10、.thumbs:浏览或使用某一软件,以及使用某一文件夹后用于记录次数和内容的文件,随机产生,需要定期不断清除,长时间不清理会大量占用储存卡的有效空间。  11、openfeint:打开联接网络后的一个启动程序,它广泛植入移动类平台发布的软件或游戏,是更新下载或评论反馈信息的记录地址,可删除。  12、com:播放类软件在收看播放影视节目生成的文件将存放于此,可以对制作方反映回馈信息,可以删除。  13、Download(download):大写字母的是网络联接下载文件目录,小写字母的是手机自身(蓝牙,近场等)存放下载传输文件,不要误删。  系统工具类——系统自带工具相关文件夹  1、albumart:音乐专辑封面的缓存文件夹。  2、albums:相册缩略图的缓存文件夹。  3、cmp:音乐的缓存文件夹。  4、Playlists:播放列表的缓存文件夹。  5、DCIM:相机随机缓存文件夹,记录功能设置的参数,需要及时清理。一些第三方相机软件拍出的相片也会保存在这里,比如360或晕影相机等。  6、VPN:VPN数据的缓存目录。  7、My documents:手机启用各种程序任务记录的文档,需要定期清除,长时间不清理会占用SD卡较大内存。  8、.nomedia:手机中隐藏的音频、图片文件夹都会在这里显示,可以自设在相关文件夹中。  9、media:使用电话通话录音软件或在线浏览视频等媒体产生的音频文件记录存档将保存在此。  10、.medieval_software:启用蓝牙传输软件时,记录任务保存文件的目录。  11、extracted:解压缩软件默认的解压目录。三方应用类  1、.mobo:Moboplayer的缓存文件。  2、.QQ:QQ的缓存文件,需要定期清除。  3、.quickoffice:quickoffice的缓存文件。  4、.switchpro:switchprowidget(多键开关应用)的缓存文件。  5、.ucdlres:UC迅雷的缓存文件。  6、baidu:掌上百度、百度输入法之类程序的缓存文件夹。  7、etouch:易行的缓存文件夹。  8、documents:Documents To Go的相关文件夹。  9、gameloft:gameloft游戏数据包存放的文件夹。  10、handcent:handcent(超级短信)数据文件夹。  11、handyCurrency:货币汇率相关的文件夹,装了handycalc(科学计算器)之后才会有。  12、ireader:ireader的缓存文件夹。  13、KingReader:开卷有益的缓存文件夹:下载的文件和应用都在这儿:删除时留意看清  14、LazyList:Applanet的缓存目录,慎重使用。  15、moji:墨迹天气的缓存目录。  16、MusicFolders:poweramp产生的缓存文件夹。  17、openfeint:openfeint的缓存文件夹。  18、Picstore:图片浏览软件建立的一个目录。  19、renren:人人网客户端的缓存文件夹。  20、screenshot:截屏图片保存的目录。  21、ShootMe:shootme截屏后图片文件保存的目录。  22、SmartpixGames:Smartpix Games出品游戏的缓存文件夹,比如Jewellust。  23、sogou:搜狗拼音输入法的随机缓存文件夹,可以删除。  24、SpeedSoftware:RE文件管理器的缓存文件夹。  25、TalkingFriends:talking tom(会说话的tom猫)录制的视频文件所保存的目录。  26、Tencent:腾讯软件的缓存目录,比如QQ。(与上面的.QQ文件夹并不相同)  27、TitaniumBackup:钛备份备份的程序所保存的目录。  28、TunnyBrowser:感觉是海豚浏览器的缓存目录,但为什么叫这个名字?金枪鱼浏览器...。.  29、UCDLFiles:UC迅雷下载文件的保存目录。  30、UCDownloads:UC浏览器下载文件缓存的保存目录。  31、VIE:Vignette(晕影相机)的缓存目录。  32、yd_historys:有道词典搜索历史的缓存目录  33、yd_speech:有道词典单词发音的缓存目录。  34、youmicache:删掉后还会自动生成,悠米广告的缓存目录,广告程序内嵌在其程序中。  35、Glu:Glu系列游戏的资料包存放地,如3D猎鹿人,勇猛二兄弟等。  36、apadqq-images:QQ for pad的缓存目录。  37、DunDef:地牢守护者的数据包。  38、KuwoMusic:酷我音乐的相关文件夹。  39、MxBrowser:遨游的缓存目录。  40、Camera360:相机camera360的随机缓存目录,可以定期清除。  41、TTPod:天天动听的缓存目录。  42、downloaded:刷了MIUI,升级后的ZIP刷机包,保存在downloaded_rom里。  43、.estrongs:当你使用了ES文件管理器解压文件,会有这个缓存记录。它反映使用进程,可以删除。  44、silentR:用了后台录音软件,自生的音频文件夹,子文件夹phoneCalls,定期管理清除  45、3D-compass:这是使用实景指南针软件,生成的景象图片(图像和数字比较详细)文件夹,可以清除。  46、PDF:可移植文档格式,Pdf阅读器存储文件夹。  47、Zidan youdao:是字典的词库文件储存,删除了要重新下载词库。  48、Callrecords:采用第三方强制双向录音软件(手机未root),音频文件保存。  49、VPlayer Pro:是MOBO等视频播放器使用后的记录定期删除。  50、BeWeather(Videos):是气象类软件(如黑莓天气.。.等)附加下载音频或动画图标的储存地址,删除了会无图无声显示。  51、thumbnails:用第三方播放器观看手持移动类视频媒体时,存放点击暂停、随机截图以及文件储存时产生的内容。  52、iQuran(meta2):可兰经浏览文本和音频的储存文件。  53、Autodesk:手机系统自带存储器命令生成文件夹:储存图像或编写文稿,可以查看、备份或者删除。  54、PixlrOMatic:后期特效处理图片软件Pixlo,储存文件夹,打开可以预览看效果。  55、mapbar:图吧导航地图存放文件,有必须主文件和不同地区具体地图,主文件删掉要重下!  56、antTTS:是使用了高德导航选择语音种类导航、语种的下载地址,删掉了语音提示会丢失。  57、kingsoft:金山词霸专用文件夹下载储存词库、更新拓展文汇(官方发布修正补充)。  58、NightVisionCamera:夜间拍照相机相片存放的地址。  59、DSA:电子狗专用夹,收录各地区道路探头监控位置信息,会定期更新。已测试配合高德、凯立德提前预警,效果不错。  60、apexlauncher:尖端桌面启动器文件夹,位置在andriod/data/,放置桌面设置备份bak文件。
采纳率:47%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Android 开发中零散知识点记录 - 简书
Android 开发中零散知识点记录
nougat.png
PopupWindow与AlertDialog的区别
最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置的,随便哪个位置都可以,更加灵活。
mPopWindow.showAtLocation(rootview, Gravity.BOTTOM, 0, 0);
AlertDialog风格不对
主题问题,当主题不对时候,Dialog风格可能会变成很丑的旧API等级的风格。
为什么叫Support v4,v7
Android Support v4:
这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。
Android Support v7:
这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。
Android Support v13
:这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。
未解绑服务使得服务持有一个销毁的activity的context造成内存泄露
MainActivity has leaked ServiceConnection com.skyace.service.MainActivity$1@41cd81f0 that was originally bound here
服务没有解绑,造成内存泄露,onDestroy的回调方法中加入了对服务的解绑操作即 unbindService成功解决
handler中的handleMessage返回值
return true 代表事件被处理了,其他handleMessage不会收到该msg
return false 事件继续传递,外层的handleMessage() 会继续执行
FC问题从log中快速搜索has died
11-18 10:10:59.380 V/CommandService(
495): Death received
in pid:1218
随后搜索该pid 快速找到log
Fragment对于onActivityResult捕获不到的情况
被父avtivity的onActivityResult捕获了
软件盘的本质是什么?软键盘其实是一个Dialog!
InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏显示。
如何去掉字符串前后空格,或者说判断字符串是否为空,或者全部为空格
TextUtils.isEmpty(mStr.trim()
String类自带的trim()方法,能够去掉字符串前后空格
如何使强制控制键盘弹起落下
public void showSoftKeyboard() {
mEditText.setFocusable(true);
mEditText.setFocusableInTouchMode(true);
mEditText.requestFocus();
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(mEditText, InputMethodManager.SHOW_FORCED);
public void hideSoftKeyboard() {
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
系统语言改变那点事
当系统语言改变,当前Activity会进行重新创建,在生命方法中,我们可以在manifest中: android:configChanges="locale" 语言(国家码)改变
I/###xiamin( 8571): Setting onPause
I/###xiamin( 8571): Setting onStop
I/###xiamin( 8571): Setting onDestory
I/###xiamin( 8571): Setting onCreate
I/###xiamin( 8571): Setting onStart
I/###xiamin( 8571): Setting onResume
Android模块
keyguard(锁屏)模块
SystemUI 通知栏和最近应用
Android分辨率适配终极方案
android-support-percent-lib
Android基于百分比的布局,谷歌官方推荐
SurfaceView
普通的Android控件,例如TextView、Button和CheckBox等,它们都是将自己的UI绘制在宿主窗口的绘图表面之上,这意味着它们的UI是在应用程序的主线程中进行绘制的。由于应用程序的主线程除了要绘制UI之外,还需要及时地响应用户输入,否则的话,系统就会认为应用程序没有响应了,因此就会弹出一个ANR对话框出来。对于一些游戏画面,或者摄像头预览、视频播放来说,它们的UI都比较复杂,而且要求能够进行高效的绘制,因此,它们的UI就不适合在应用程序的主线程中进行绘制。这时候就必须要给那些需要复杂而高效UI的视图生成一个独立的绘图表面,以及使用一个独立的线程来绘制这些视图的UI。
android:splitMotionEvents
定义布局是否传递触摸事件(touch)到子布局,true表示传递给子布局,false表示不传递。
获取当前格式化时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
Date date = new Date(System.currentTimeMillis());
String str = format.format(date);
Android为每个应用程序分配的内存大小
过去是16M,不过根据机型而言不一样,早期的Android系统G1,就是只有16M
Android中内部存储和外部存储的理解和路径获取
1.data/data/包名/shared_prefs
2.data/data/包名/databases
3.data/data/包名/files
4.data/data/包名/cache
外部存储才是我们平时操作最多的,外部存储一般就是我们上面看到的storage文件夹,当然也有可能是mnt文件夹,这个不同厂家有可能不一样。
一般来说,在storage文件夹中有一个sdcard文件夹,这个文件夹中的文件又分为两类,一类是公有目录,还有一类是私有目录,其中的公有目录有九大类,比如DCIM、DOWNLOAD等这种系统为我们创建的文件夹,私有目录就是Android这个文件夹,这个文件夹打开之后里边有一个data文件夹,打开这个data文件夹,里边有许多包名组成的文件夹。
所以外部存储的路径是:
storage/sdcard/Android/data/包名/files
storage/sdcard/Android/data/包名/cache
SharedPreferences也可以设置监听器
mSharedPreferences.registerOnSharedPreferenceChangeListener(mOnSharedPreferenceChangeListener);
Android获取唯一机器码的代码
String mDeviceId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
将内容复制到粘贴板
ClipboardManager copy = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData myC
String text = "" + mI
myClip = ClipData.newPlainText("text", text);
copy.setPrimaryClip(myClip);
Toast.makeText(WelcomeActivity.this, "复制成功", Toast.LENGTH_SHORT).show();
监听屏幕唤醒和关闭的广播
private void registSreenStatusReceiver() {
mScreenStatusReceiver = new ScreenStatusReceiver();
IntentFilter screenStatusIF = new IntentFilter();
screenStatusIF.addAction(Intent.ACTION_SCREEN_ON);
screenStatusIF.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(mScreenStatusReceiver, screenStatusIF);
unregisterReceiver(mScreenStatusReceiver);
class ScreenStatusReceiver extends BroadcastReceiver {
String SCREEN_ON = "android.intent.action.SCREEN_ON";
String SCREEN_OFF = "android.intent.action.SCREEN_OFF";
public void onReceive(Context context, Intent intent) {
if (SCREEN_ON.equals(intent.getAction())) {
else if (SCREEN_OFF.equals(intent.getAction())) {
Android应用的persistent属性
android:persistent="true"
在Android系统中,有一种永久性应用。它们对应的AndroidManifest.xml文件里,会将persistent属性设为true
在系统启动之时,AMS的systemReady()会加载所有persistent为true的应用。
服务的前台运行(现在没什么用了)
使用AIDL作为项目之间的接口可能存在一定的风险。
如何规避这个风险,网上有文章说,在IBinder里面的onTransact函数中调用Binder.getCallingUid()和Binder.getCallingPid()来判断外来方的身份。
但这个方法,只能是被调用方检测调用方的身份。
最近我的服务作为系统级服务存在的,但是其中的一个标志位出了问题,就是通过该方法找到是哪个进程改了的.
如何导入外部数据库
把原数据库包括在项目源码的 res/raw
android系统下数据库应该存放在 /data/data/com..(package name)/ 目录下,所以我们需要做的是把已有的数据库传入那个目录下.操作方法是用FileInputStream读取原数据库,再用FileOutputStream把读取到的东西写入到那个目录.
LaunchMode应用场景
standard,创建一个新的Activity。
singleTop,栈顶不是该类型的Activity,创建一个新的Activity。否则,onNewIntent。
singleTask,回退栈中没有该类型的Activity,创建Activity,否则,onNewIntent+ClearTop。
设置了"singleTask"启动模式的Activity,它在启动的时候,会先在系统中查找属性值affinity等于它的属性值taskAffinity的Task存在; 如果存在这样的Task,它就会在这个Task中启动,否则就会在新的任务栈中启动。因此, 如果我们想要设置了"singleTask"启动模式的Activity在新的任务中启动,就要为它设置一个独立的taskAffinity属性值。
如果设置了"singleTask"启动模式的Activity不是在新的任务中启动时,它会在已有的任务中查看是否已经存在相应的Activity实例, 如果存在,就会把位于这个Activity实例上面的Activity全部结束掉,即最终这个Activity 实例会位于任务的Stack顶端中。
在一个任务栈中只有一个”singleTask”启动模式的Activity存在。他的上面可以有其他的Activity。这点与singleInstance是有区别的。
singleInstance,回退栈中,只有这一个Activity,没有其他Activity。
singleTop适合接收通知启动的内容显示页面。
例如,某个新闻客户端的新闻内容页面,如果收到10个新闻推送,每次都打开一个新闻内容页面是很烦人的。
singleTask适合作为程序入口点。
例如浏览器的主界面。不管从多少个应用启动浏览器,只会启动主界面一次,其余情况都会走onNewIntent,并且会清空主界面上面的其他页面。
singleInstance应用场景:
闹铃的响铃界面。 你以前设置了一个闹铃:上午6点。在上午5点58分,你启动了闹铃设置界面,并按 Home 键回桌面;在上午5点59分时,你在微信和朋友聊天;在6点时,闹铃响了,并且弹出了一个对话框形式的 Activity(名为 AlarmAlertActivity) 提示你到6点了(这个 Activity 就是以 SingleInstance 加载模式打开的),你按返回键,回到的是微信的聊天界面,这是因为 AlarmAlertActivity 所在的 Task 的栈只有他一个元素, 因此退出之后这个 Task 的栈空了。如果是以 SingleTask 打开 AlarmAlertActivity,那么当闹铃响了的时候,按返回键应该进入闹铃设置界面。
invalidate()和postInvalidate()的区别
可以把UI线程理解为主线程。其余的线程可以理解为工作者线程。
invalidate()得在UI线程中被调动,在工作者线程中可以通过Handler来通知UI线程进行界面更新。
而postInvalidate()在工作者线程中被调用
Android动画框架实现原理
Animation框架定义了透明度,旋转,缩放和位移几种常见的动画,而且控制的是整个View,实现原理是每次绘制视图时View所在的ViewGroup中的drawChild函数获取该View的Animation的Transformation值,然后调用canvas.concat(transformToApply.getMatrix()),通过矩阵运算完成动画帧,如果动画没有完成,继续调用invalidate()函数,启动下次绘制来驱动动画,动画过程中的帧之间间隙时间是绘制函数所消耗的时间,可能会导致动画消耗比较多的CPU资源,最重要的是,动画改变的只是显示,并不能相应事件。
View刷新机制
由ViewRoot对象的performTraversals()方法调用draw()方法发起绘制该View树,值得注意的是每次发起绘图时,并不会重新绘制每个View树的视图,而只会重新绘制那些“需要重绘”的视图,View类内部变量包含了一个标志位DRAWN,当该视图需要重绘时,就会为该View添加该标志位。
View 的关键生命周期
View 的关键生命周期为
[改变可见性]
onFinishInflate
onAttachedToWindow
onSizeChanged
onDetackedFromWindow
Android中图片占用内存的计算
ARGB_4444 每个像素2字节
RGB_565 每个像素2字节
ARGB_8888 每个像素4字节。
那么一张720p的图片,就要占用72012804 大概3.5兆的大小,所以图片处理很重要,不然分分钟OOM
ART和Dalvik区别
Art上应用启动快,运行快,但是耗费更多存储空间,安装时间长,总的来说ART的功效就是"空间换时间"。
ART: Ahead of Time Dalvik: Just in Time
什么是Dalvik:Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一,它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik应用设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为独立的Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
什么是ART:Android操作系统已经成熟,Google的Android团队开始将注意力转向一些底层组件,其中之一是负责应用程序运行的Dalvik运行时。Google开发者已经花了两年时间开发更快执行效率更高更省电的替代ART运行时。ART代表Android Runtime,其处理应用程序执行的方式完全不同于Dalvik,Dalvik是依靠一个Just-In-Time(JIT)编译器去解释字节码。开发者编译后的应用代码需要通过一个解释器在用户的设备上运行,这一机制并不高效,但让应用能更容易在不同硬件和架构上运行。ART则完全改变了这套做法,在应用安装的时候就预编译字节码到机器语言,这一机制叫Ahead-Of-Time(AOT)编译。在移除解释代码这一过程后,应用程序执行将更有效率,启动更快。
系统性能的显著提升
应用启动更快、运行更快、体验更流畅、触感反馈更及时
更长的电池续航能力
支持更低的硬件
更大的存储空间占用,可能会增加10%-20%
更长的应用安装时间
关于include
如果我们要在标签中覆写layout属性,必须要将layout_width和layout_height这两个属性也进行覆写,否则覆写xiaoguo将不会生效。
Android几种进程
前台进程:即与用户正在交互的Activity或者Activity用到的Service等,如果系统内存不足时前台进程是最后被杀死的
可见进程:可以是处于暂停状态(onPause)的Activity或者绑定在其上的Service,即被用户可见,但由于失去了焦点而不能与用户交互
服务进程:其中运行着使用startService方法启动的Service,虽然不被用户可见,但是却是用户关心的,例如用户正在非音乐界面听的音乐或者正在非下载页面自己下载的文件等;当系统要空间运行前两者进程时才会被终止
后台进程:其中运行着执行onStop方法而停止的程序,但是却不是用户当前关心的,例如后台挂着的QQ,这样的进程系统一旦没了有内存就首先被杀死
空进程:不包含任何应用程序的程序组件的进程,这样的进程系统是一般不会让他存在的
如何避免后台进程被杀死:
调用startForegound,让你的Service所在的线程成为前台进程
Service的onStartCommond返回START_STICKY或START_REDELIVER_INTENT
Service的onDestroy里面重新启动自己
对Android方法数不能超过65K的限制应该有所耳闻,随着应用程序功能不断的丰富,总有一天你会遇到一个异常:
Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536
Android系统中,一个Dex文件中存储方法id用的是short类型数据,所以导致你的dex中方法不能超过65k
解决方法是dex分包
dex.force.jumbo=true
是的,加入了这句话,确实可以让你的应用通过编译,但是在一些2.3系统的机器上很容易出现
INSTALL_FAILED_DEXOPT异常
详细方法见:
Android使用static静态代码块最多的地方
ContentProvider中,用来初始化UriMatcher
private static final UriMatcher
sURLMatcher = new UriMatcher(UriMatcher.NO_MATCH);
sURLMatcher.addURI("mms", null,
sURLMatcher.addURI("mms", "#",
MMS_ALL_ID);
private SQLiteOpenHelper mOpenH
SurfaceTexture 的好处
可以在不使用SurfaceView的情况下,获取到摄像头的数据,并且自己做相应处理.
摄像头数据那点事
摄像头数据在
public void onPreviewFrame(byte[] data, Camera camera)
回调中拿到手,到手的为YUV420SP数据,需要转成bitmap处理,最好是Bitmap.Config.RGB_565.
查看每个应用程序最高可用内存:
int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
Log.d("TAG", "Max memory is " + maxMemory + "KB");
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.0.1'
问题是v7和design版本不一致
改成一样的搞版本就好
Intent Filter
android的3个核心组件——Activity、services、广播接收器——是通过intent传递消息的。intent消息用于在运行时绑定不同的组件。
  在 Android 的 AndroidManifest.xml 配置文件中可以通过 intent-filter 节点为一个 Activity 指定其 Intent Filter,以便告诉系统该 Activity 可以响应什么类型的 Intent。
intent-filter 的三大属性
一个 Intent Filter 可以包含多个 Action,Action 列表用于标示 Activity 所能接受的“动作”,它是一个用户自定义的字符串。
&intent-filter &
&action android:name="android.intent.action.MAIN" /&
&action android:name="com.scu.amazing7Action" /&
&/intent-filter&
在代码中使用以下语句便可以启动该Intent 对象:
Intent i=new Intent();
i.setAction("com.scu.amazing7Action");
Action 列表中包含了“com.scu.amazing7Action”的 Activity 都将会匹配成功
在 intent-filter 节点中,通过 data节点匹配外部数据,也就是通过 URI 携带外部数据给目标组件。
&data android:mimeType="mimeType"
android:scheme="scheme"
android:host="host"
android:port="port"
android:path="path"/&
注意:只有data的所有的属性都匹配成功时 URI 数据匹配才会成功
为组件定义一个 类别列表,当 Intent 中包含这个类别列表的所有项目时才会匹配成功。
&intent-filter . . . &
&action android:name="code android.intent.action.MAIN" /&
&category android:name="code android.intent.category.LAUNCHER" /&
&/intent-filter&
Activity 中 Intent Filter 的匹配过程
①加载所有的Intent Filter列表
  ②去掉action匹配失败的Intent Filter
  ③去掉url匹配失败的Intent Filter
  ④去掉Category匹配失败的Intent Filter
  ⑤判断剩下的Intent Filter数目是否为0。如果为0查找失败返回异常;如果大于0,就按优先级排序,返回最高优先级的Intent Filter
开发中Activity的一些问题
一般设置Activity为非公开的
......
android:exported="false" /&
注意:非公开的Activity不能设置intent-filter,以免被其他activity唤醒(如果拥有相同的intent-filter)。
不要指定activity的taskAffinity属性
不要设置activity的LaunchMode(保持默认)
注意Activity的intent最好也不要设定为FLAG_ACTIVITY_NEW_TASK
在匿名内部类中使用this时加上activity类名(类名.this,不一定是当前activity)
设置activity全屏
在其 onCreate()方法中加入:
// 设置全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 去除标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
Android去除系统自带动画的两种方法
在startActivity()或者finish()后紧跟调用:
((Activity) mContext).overridePendingTransition(0, 0);
在一些特殊情况下方法一是不能实现的.
比如给Intent设置了属性:
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
此时可以这么做:
1.在styles.xml下添加:
&style name="Theme" parent="android:Theme"&
&item name="android:windowAnimationStyle"&@style/noAnimation&/item&
&item name="android:windowNoTitle"&true&/item&
&style name="noAnimation"&
&item name="android:activityOpenEnterAnimation"&@null&/item&
&item name="android:activityOpenExitAnimation"&@null&/item&
&item name="android:activityCloseEnterAnimation"&@null&/item&
&item name="android:activityCloseExitAnimation"&@null&/item&
&item name="android:taskOpenEnterAnimation"&@null&/item&
&item name="android:taskOpenExitAnimation"&@null&/item&
&item name="android:taskCloseEnterAnimation"&@null&/item&
&item name="android:taskCloseExitAnimation"&@null&/item&
&item name="android:taskToFrontEnterAnimation"&@null&/item&
&item name="android:taskToFrontExitAnimation"&@null&/item&
&item name="android:taskToBackEnterAnimation"&@null&/item&
&item name="android:taskToBackExitAnimation"&@null&/item&
2.在AndroidManifest.xml中为跳出和跳入的Activity设置:
android:theme="@style/Theme"
说说AsyncTask的源码设计
当我们调用execute的时候,其实是去调executeOnExecutor,传入我们的默认执行器的.从代码中,我们能看到,默认的执行器是一个串行的执行器.当然,这个串行执行器会再将runnable给一个ThreadPoolExecutor来执行, 这个ThreadPoolExecutor 默认大小是处理器的核心数的2倍+1, 比如我们是双核,也就是默认大小为5个线程.
private static final BlockingQueue&Runnable& sPoolWorkQueue =
new LinkedBlockingQueue&Runnable&(128);
* An {@link Executor} that can be used to execute tasks in parallel.
public static final Executor THREAD_POOL_EXECUTOR
= new ThreadPoolExecutor(CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, KEEP_ALIVE,
TimeUnit.SECONDS, sPoolWorkQueue, sThreadFactory);
public static final Executor SERIAL_EXECUTOR = new SerialExecutor();
private static volatile Executor sDefaultExecutor = SERIAL_EXECUTOR;
@MainThread
public final AsyncTask&Params, Progress, Result& execute(Params... params) {
return executeOnExecutor(sDefaultExecutor, params);
@MainThread
public final AsyncTask&Params, Progress, Result& executeOnExecutor(Executor exec,
Params... params) {
if (mStatus != Status.PENDING) {
switch (mStatus) {
case RUNNING:
throw new IllegalStateException("Cannot execute task:"
+ " the task is already running.");
case FINISHED:
throw new IllegalStateException("Cannot execute task:"
+ " the task has already been executed "
+ "(a task can be executed only once)");
mStatus = Status.RUNNING;
onPreExecute();
mWorker.mParams =
exec.execute(mFuture);
子线程更新UI那点事情
在onCreate或者onResume中, 直接开一个线程更新UI是可以的, 在Activity刚刚起来的时候, ViewRootImpl不会走checkTHread 方法, 因为mParent为空.
但是当Activity存活了一会儿,比如我们设置个button点击事件, 然后点击触发使用线程修改UI, 便会报错
Glide是如何解决ListView Item图片加载错乱的问题
因为在Glide into(ImageView)时, 绑定了控件, 若into的是SimpleTarget 然后自己手动设置,若我们自己没有设置tag, 便会错乱.
使用lambda表达式AS错误
Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8.
解决:配置Gradle.
在模块特定的 build.gradle 文件中输入以下内容:
android { …….
defaultConfig {
jackOptions {
enabled true
防止点击多个控件
在一个手机界面中,用户经常会同时点击多个控件,经常会在短时间内对某一个控件点击多下,这样就会造成各种各样的bug。
只要在xml文件中的父容器总加入这样一行代码即可:
android:splitMotionEvents=”false”
如在下面的LinearLayout中加入这行话,表示每一次只能点击LinearLayout其中的一个元素,点击了其他的元素是无效的。
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp10"
android:splitMotionEvents="false"
android:background="@drawable/shape_frame_black"
android:orientation="vertical" &
继续更新中。。。
谢谢大家阅读,如有帮助,来个喜欢或者关注吧!
本文作者:Anderson/Jerey_Jobs
简书地址:
github地址:
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
1、 Android的四大组件是哪些,它们的作用?答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑service:后台服务于Act...
内容来之网络,因为看到布局太乱,重新整理下,并对答案做了一些修改。如果有侵权,请给我私信。谢谢。 1.下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内...
七夕加班…… 开心的是Amy借了我们好多书。 努力工作、努力挣钱~哇咔咔 好开心好开心呀~ 每天都要这么开心~
查看本地变更历史 方法一: 点击右键 —& 在弹出的操作选项中点击Local History —& Show History 方法二: 通过菜单栏 —& VCS—&Local History —& Show History 查看某段代码的本地变更历史 先选中这段代码,然后在...
谷雨是春天最后一个节气,意味着雨水后,土膏脉动,谷物得雨而茂盛。谷雨前,春雨还如云雾般细腻柔和。谷雨到,雨不再迷离,一颗颗清澈而干净利落的雨滴从天空降落。雨结结实实的落在叶子上,便是一声清脆的相遇。落在湖中,便是一朵朵荡漾着水波的花。落在谷物上,便是秋天让人喜悦的大丰收。 ...
今天看到一篇以家庭环境教育孩子的文章,总结的相当全面,准确。我重新加以整理,拿出来和重视孩子教育,重视孩子将来的家长分享一下! (以下为摘录部分↓) 宠出来的孩子--危险 捧出来的孩子--霸道 惯出来的孩子--任性 娇出来的孩子--脆弱 打出来的孩子--逆反 骂出来的孩子-...}

我要回帖

更多关于 安卓手机文件管理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信