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 remove a dependency of GraphicBuffer (libui) on Parcel (libbinder). 2010-02-21 23:27:25 -08:00
Asset.cpp Fix issue #2048263: More debugging information 2009-08-11 18:56:41 -07:00
AssetDir.cpp
AssetManager.cpp Don't re-parse the framework resources all the time. 2009-07-06 11:12:37 -07:00
BackupData.cpp Turn off most of the backup-related debug logging 2009-09-30 17:07:37 -07:00
BackupHelpers.cpp Better (and less) logging from backup. 2009-06-26 17:19:11 -04:00
BufferedTextOutput.cpp
CallStack.cpp
Debug.cpp
FileMap.cpp
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
README
RefBase.cpp
ResourceTypes.cpp Use UTF-8 strings to avoid duplicate caching, part 1 2010-02-23 10:02:20 -08:00
SharedBuffer.cpp
Static.cpp
StopWatch.cpp
String8.cpp Optional use of UTF-8 strings in resource bundles 2009-12-07 15:14:15 -08:00
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 Maybe really fix windows build. 2009-12-08 19:45:59 -08:00
Timers.cpp
VectorImpl.cpp
ZipFileCRO.cpp
ZipFileRO.cpp
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.