incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon MacDonald (JIRA)" <>
Subject [jira] [Commented] (CB-940) Android image compression algorithm uses too much memory.
Date Wed, 20 Jun 2012 18:44:43 GMT


Simon MacDonald commented on CB-940:

@Joe, obviously I did not mean we should invent the algorithm from scratch. Rather it looks
like we will need to implement an existing algorithm in Java. For more background on this
problem I've already looked into the source of Bitmap.compress() and it makes a JNI call so
we can't modify that algorithm. Most third party JPEG manipulation libraries written in Java
run into one of the following three problems:

1) Their license is not good for us, LGPL or GPL.
2) They make use of java.awt which is not available on Android.
3) They make use of javax.imageIO which is not available on Android. 

So that is what led me to write we'll need to implement our own version of the algorithm.

@Jukka, those are good resources, I will look into them in more detail. 

@Shaz, mem-mapped files may come into play but it is too early to say right now.
> Android image compression algorithm uses too much memory.
> ---------------------------------------------------------
>                 Key: CB-940
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 0.9.5, 0.9.6, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.6.0, 1.6.1,
1.7.0, 1.8.0, 1.8.1
>            Reporter: Simon MacDonald
>            Assignee: Simon MacDonald
> We need to write our own version of jpg compression algorithm as the one that Android
has implemented in Bitmap.compress requires the entire image to be loaded in memory which
can cause out of memory errors.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message