Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fcbc43b7 authored by Andreas Gampe's avatar Andreas Gampe Committed by android-build-merger
Browse files

Merge "Frameworks/base: Optimize LoadedApk" into nyc-dev

am: 8cb3b2bb

* commit '8cb3b2bb':
  Frameworks/base: Optimize LoadedApk

Change-Id: I3cefc230805bc11051acbf3b92382be2aa8dd273
parents ba15163b 8cb3b2bb
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -458,8 +458,14 @@ public final class LoadedApk {
            }
        }

        final List<String> zipPaths = new ArrayList<>();
        final List<String> libPaths = new ArrayList<>();
        // Lists for the elements of zip/code and native libraries.
        //
        // Both lists are usually not empty. We expect on average one APK for the zip component,
        // but shared libraries and splits are not uncommon. We expect at least three elements
        // for native libraries (app-based, system, vendor). As such, give both some breathing
        // space and initialize to a small value (instead of incurring growth code).
        final List<String> zipPaths = new ArrayList<>(10);
        final List<String> libPaths = new ArrayList<>(10);
        makePaths(mActivityThread, mApplicationInfo, zipPaths, libPaths);

        final boolean isBundledApp = mApplicationInfo.isSystemApp()
@@ -495,8 +501,11 @@ public final class LoadedApk {
        /*
         * With all the combination done (if necessary, actually create the java class
         * loader and set up JIT profiling support if necessary.
         *
         * In many cases this is a single APK, so try to avoid the StringBuilder in TextUtils.
         */
        final String zip = TextUtils.join(File.pathSeparator, zipPaths);
        final String zip = (zipPaths.size() == 1) ? zipPaths.get(0) :
                TextUtils.join(File.pathSeparator, zipPaths);

        if (ActivityThread.localLOGV)
            Slog.v(ActivityThread.TAG, "Class path: " + zip +
+5 −6
Original line number Diff line number Diff line
@@ -309,14 +309,13 @@ public class TextUtils {
     */
    public static String join(CharSequence delimiter, Iterable tokens) {
        StringBuilder sb = new StringBuilder();
        boolean firstTime = true;
        for (Object token: tokens) {
            if (firstTime) {
                firstTime = false;
            } else {
        Iterator<?> it = tokens.iterator();
        if (it.hasNext()) {
            sb.append(it.next());
            while (it.hasNext()) {
                sb.append(delimiter);
                sb.append(it.next());
            }
            sb.append(token);
        }
        return sb.toString();
    }