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
BackupHelpers.cpp
BufferedTextOutput.cpp
CallStack.cpp
Debug.cpp
FileMap.cpp
Flattenable.cpp
misc.cpp
MODULE_LICENSE_APACHE2
NOTICE
README
RefBase.cpp
ResourceTypes.cpp
SharedBuffer.cpp
Static.cpp
StopWatch.cpp
String8.cpp
String16.cpp
StringArray.cpp
SystemClock.cpp
TextOutput.cpp
Threads.cpp
Timers.cpp
VectorImpl.cpp
ZipFileCRO.cpp
ZipFileRO.cpp
ZipUtils.cpp

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.