Fixes bug 1696, thanks Paul Geerts!
Also adds a bit of information about asset loading on Android.
This commit is contained in:
parent
a971c6b291
commit
09cbdb12c9
2 changed files with 15 additions and 0 deletions
|
@ -138,6 +138,18 @@ SDL_AndroidGetExternalStoragePath()
|
||||||
|
|
||||||
See SDL_system.h for more details on these functions.
|
See SDL_system.h for more details on these functions.
|
||||||
|
|
||||||
|
The asset packaging system will, by default, compress certain file extensions.
|
||||||
|
SDL includes two asset file access mechanisms, the preferred one is the so
|
||||||
|
called "File Descriptor" method, which is faster and doesn't involve the Dalvik
|
||||||
|
GC, but given this method does not work on compressed assets, there is also the
|
||||||
|
"Input Stream" method, which is automatically used as a fall back by SDL. You
|
||||||
|
may want to keep this fact in mind when building your APK, specially when large
|
||||||
|
files are involved.
|
||||||
|
For more information on which extensions get compressed by default and how to
|
||||||
|
disable this behaviour, see for example:
|
||||||
|
|
||||||
|
http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-apps/
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Pause / Resume behaviour
|
Pause / Resume behaviour
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
|
@ -613,6 +613,9 @@ static int Android_JNI_FileOpen(SDL_RWops* ctx)
|
||||||
descriptor = mEnv->GetFieldID(fdCls, "descriptor", "I");
|
descriptor = mEnv->GetFieldID(fdCls, "descriptor", "I");
|
||||||
ctx->hidden.androidio.fd = mEnv->GetIntField(fd, descriptor);
|
ctx->hidden.androidio.fd = mEnv->GetIntField(fd, descriptor);
|
||||||
|
|
||||||
|
// Seek to the correct offset in the file.
|
||||||
|
lseek(ctx->hidden.androidio.fd, (off_t)ctx->hidden.androidio.offset, SEEK_SET);
|
||||||
|
|
||||||
if (false) {
|
if (false) {
|
||||||
fallback:
|
fallback:
|
||||||
__android_log_print(ANDROID_LOG_DEBUG, "SDL", "Falling back to legacy InputStream method for opening file");
|
__android_log_print(ANDROID_LOG_DEBUG, "SDL", "Falling back to legacy InputStream method for opening file");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue