replicant-frameworks_native/libs/utils
Kenny Root 9e333ab42c Use UTF-8 strings to avoid duplicate caching, part 1
StringBlock instances containing UTF-8 strings use a cache to convert
into UTF-16, but using that cache and then using a JNI call to NewString
causes the UTF-8 string as well as two copies of the UTF-16 string to
be held in memory. Getting the UTF-8 string directly from the StringPool
eliminates one copy of the UTF-16 string being held in memory.

This is part 1. Part 2 will include ResXMLParser optimizations.

Change-Id: Ibd4509a485db746d59cd4b9501f544877139276c
2010-02-23 10:02:20 -08:00
..
Android.mk
Asset.cpp
AssetDir.cpp
AssetManager.cpp
BackupData.cpp Turn off most of the backup-related debug logging 2009-09-30 17:07:37 -07:00
BackupHelpers.cpp
BufferedTextOutput.cpp
CallStack.cpp some work to try to reduce the code size of some native libraries 2009-05-26 16:12:20 -07:00
Debug.cpp
FileMap.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
Flattenable.cpp remove a dependency of GraphicBuffer (libui) on Parcel (libbinder). 2010-02-21 23:27:25 -08:00
misc.cpp
MODULE_LICENSE_APACHE2
NOTICE auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
README
RefBase.cpp
ResourceTypes.cpp
SharedBuffer.cpp
Static.cpp
StopWatch.cpp
String8.cpp
String16.cpp Optional use of UTF-8 strings in resource bundles 2009-12-07 15:14:15 -08:00
StringArray.cpp
SystemClock.cpp
TextOutput.cpp
Threads.cpp
Timers.cpp
VectorImpl.cpp auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
ZipFileCRO.cpp
ZipFileRO.cpp rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
ZipUtils.cpp fix FILE* version of ZipUtils::inflateToBuffer 2009-07-16 11:27:13 -07:00

Android Utility Function Library

If you need a feature that is native to Linux but not present on other
platforms, construct a platform-dependent implementation that shares
the Linux interface.  That way the actual device runs as "light" as
possible.

If that isn't feasible, create a system-independent interface and hide
the details.

The ultimate goal is *not* to create a super-duper platform abstraction
layer.  The goal is to provide an optimized solution for Linux with
reasonable implementations for other platforms.