When should I use the assets as opposed to raw resources in Android?

The main differences between the raw folder and the assets folder.

  • Since raw is a subfolder of Resources (res), Android will
    automatically generate an ID for any file located inside it. This
    ID is then stored in the R class that will act as a reference to
    a file, meaning it can be easily accessed from other Android classes
    and methods and even in Android XML files. Using the automatically
    generated ID is the fastest way to have access to a file in Android.

  • The assets folder is an “appendix” directory. The R class does
    not generate IDs
    for the files placed there, which is less compatible
    with some Android classes and methods. File access in the assets folder is slower since you will need to get a handle to it
    based on a String
    . However some operations are more easily done by
    placing files in this folder, like copying a database file to the
    system’s memory. There’s no (easy) way to create an Android XML
    reference to files inside the Assets folder.

Leave a Comment