Android 中raw和assets文件夹的区别

 更新时间:2017年04月20日 11:03:44   投稿:lqh  
这篇文章主要介绍了Android 中raw和assets文件夹的区别的相关资料,需要的朋友可以参考下

Android 中raw和assets文件夹的区别

以下是我通过整理网上与自己的经验所得。

raw 和 assets 的相同点

它们会被原封不动的拷贝到APK中,而不会像其它资源文件那样被编译成二进制的形式。

raw 和 assets 的不同点

1.它们在代码中的不同方式 :

assets:

InputStream assets = getAssets().open("xxxx");

raw:

InputStream raw = getResources().openRawResource(R.raw.xxxx)

assets下可以创建目录结构,还能够动态的列出assets中的所有资源(getAssets().list(String path);),raw文件目录下不行

raw 文件夹下的的会资源生成一个资源id,assets文件下的资源不会

raw 和 assets 的使用场景

1.由于raw是Resources(res)的子目录,Android会自动的为这目录中的所有资源文件生成一个ID,这个ID会被存储在R类当中,作为一个文件的引用。这意味着这个资源文件可以很容易的被Android的类和方法访问到,甚至在Android XML文件中你也可以@raw/的形式引用到它。在Android中,使用ID是访问一个文件最快捷的方式。MP3和Ogg文件放在这个目录下是比较合适的。

2.assets目录更像一个附录类型的目录,Android不会为这个目录中的文件生成ID并保存在R类当中,因此它与Android中的一些类和方法兼容度更低。同时,由于你需要一个字符串路径来获取这个目录下的文件描述符,访问的速度会更慢。但是把一些文件放在这个目录下会使一些操作更加方便,比方说拷贝一个数据库文件到系统内存中。要注意的是,你无法在Android XML文件中引用到assets目录下的文件,只能通过AssetManager来访问这些文件。数据库文件和游戏数据等放在这个目录下是比较合适的

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 详解Android ContentProvider的基本原理和使用

    详解Android ContentProvider的基本原理和使用

    ContentProvider(内容提供者)是 Android 的四大组件之一,管理 Android 以结构化方式存放的数据,以相对安全的方式封装数据(表)并且提供简易的处理机制和统一的访问接口供其他程序调用
    2021-06-06
  • Android线程管理之ActivityThread

    Android线程管理之ActivityThread

    线程通信、ActivityThread及Thread类是理解Android线程管理的关键。通过本文给大家介绍Android线程管理之ActivityThread 的相关知识,对android线程管理相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • 基于android布局中的常用占位符介绍

    基于android布局中的常用占位符介绍

    下面小编就为大家分享一篇基于android布局中的常用占位符介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Android-屏幕适配需要注意的地方总结

    Android-屏幕适配需要注意的地方总结

    需要注意一下几个地方:尽量使用线性布局/尽量使用dip和sp,不要使用px/为不同的分辨率提供不同的布局文件和图片,接下来为你详细介绍下,感兴趣的你可以参考下哈,希望可以帮助到你
    2013-03-03
  • Android动态修改应用图标与名称的方法实例

    Android动态修改应用图标与名称的方法实例

    这篇文章主要给大家介绍了关于Android动态修改应用图标与名称的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Android 8.0系统中应用图标的适配微技巧

    Android 8.0系统中应用图标的适配微技巧

    这篇文章主要介绍了Android 8.0系统中应用图标的适配微技巧 ,需要的朋友可以参考下
    2018-04-04
  • Android使用TouchDelegate增加View的触摸范围

    Android使用TouchDelegate增加View的触摸范围

    这篇文章主要为大家详细介绍了Android使用TouchDelegate增加View的触摸范围,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android拼图游戏 玩转从基础到应用手势变化

    Android拼图游戏 玩转从基础到应用手势变化

    这篇文章主要介绍了Android拼图游戏的实现方法,教大家玩转从基础到应用手势变化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android自定义控件之广告条滚动效果

    Android自定义控件之广告条滚动效果

    这篇文章主要为大家详细介绍了Android自定义控件之广告条滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Android 文件选择器详解及实例代码

    Android 文件选择器详解及实例代码

    这篇文章主要介绍了Android 文件选择器详解的相关资料,并附实例代码,需要的朋友可以参考下
    2016-10-10

最新评论