<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -60,6 +60,7 @@ import android.view.MenuItem;
 import android.view.SubMenu;
 import android.view.View;
 import android.view.Window;
+import android.view.animation.AlphaAnimation;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.widget.Button;
@@ -67,6 +68,7 @@ import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
+import android.widget.ViewAnimator;
 
 /**
  * Class that controls a mobile Titanium application.
@@ -108,7 +110,7 @@ public class TitaniumActivity extends Activity
 	private HashSet&lt;OnConfigChange&gt; configurationChangeListeners;
 	private TitaniumLogWatcher logWatcher;
 
-	private FrameLayout layout;
+	private ViewAnimator layout;
 	private Drawable backgroundDrawable;
 
 	private String url;
@@ -193,7 +195,12 @@ public class TitaniumActivity extends Activity
 			}});
         sourceLoadThread.start();
 
-		layout = new FrameLayout(this);
+		layout = new ViewAnimator(this);
+		layout.setAnimateFirstView(true);
+		AlphaAnimation inAnim = new AlphaAnimation(0.0f, 1.0f);
+		inAnim.setDuration(200);
+		layout.setInAnimation(inAnim);
+
         settings = webView.getSettings();
 
 		configurationChangeListeners = new HashSet&lt;OnConfigChange&gt;();
@@ -228,6 +235,7 @@ public class TitaniumActivity extends Activity
 			public void run() {
 				buildWebView();
 			}});
+        webViewThread.setPriority(Thread.MAX_PRIORITY);
         webViewThread.start();
 
         initialOrientation = this.getRequestedOrientation();
@@ -308,7 +316,8 @@ public class TitaniumActivity extends Activity
 			((BitmapDrawable) backgroundDrawable).setGravity(Gravity.TOP);
 			splashView.setImageDrawable(backgroundDrawable);
 		}
-		setContentView(splashView);
+		layout.addView(splashView);
+		setContentView(layout);
 
 		ts(&quot;After splash&quot;);
 
@@ -618,7 +627,8 @@ public class TitaniumActivity extends Activity
 	 			handler.post(new Runnable(){
 					public void run() {
 						layout.addView(me.webView);
-				 	    me.setContentView(layout);
+						layout.showNext();
+						layout.removeView(splashView);
 				 	    ts(&quot;webview is content&quot;);
 
 				 	    if (!me.webView.hasFocus()) {</diff>
      <filename>android/titanium/src/org/appcelerator/titanium/TitaniumActivity.java</filename>
    </modified>
    <modified>
      <diff>@@ -69,21 +69,43 @@ public class TitaniumActivityGroup extends ActivityGroup
 
 		final ArrayList&lt;TitaniumWindowInfo&gt; windows = appInfo.getWindows();
 
-		TitaniumWindowInfo info = windows.get(0);
+		final TitaniumWindowInfo info = windows.get(0);
 		final TitaniumFileHelper tfh = new TitaniumFileHelper(this.getApplicationContext());
-		Thread sourceThread = new Thread(new Runnable(){
 
+		Thread initialSourceThread = new Thread(new Runnable(){
 			public void run() {
-				for (TitaniumWindowInfo wi : windows) {
-					String url = tfh.getResourceUrl(null, wi.getWindowUrl());
-					try {
-						app.setSourceFor(url, TitaniumUrlHelper.getSource(app, app.getApplicationContext(), url, null));
-					} catch (IOException e) {
-						Log.e(LCAT, &quot;Unable to pre-load source for &quot; + url);
-					}
+				String url = tfh.getResourceUrl(null, info.getWindowUrl());
+				try {
+					app.setSourceFor(url, TitaniumUrlHelper.getSource(app, app.getApplicationContext(), url, null));
+				} catch (IOException e) {
+					Log.e(LCAT, &quot;Unable to pre-load source for &quot; + url);
 				}
 			}});
-		sourceThread.start();
+		initialSourceThread.setPriority(Thread.NORM_PRIORITY);
+		initialSourceThread.start();
+
+		final int len = windows.size();
+
+		if (len &gt; 1) {
+			Thread sourceThread = new Thread(new Runnable(){
+				public void run() {
+					try {
+						Thread.sleep(1000);
+					} catch (InterruptedException e) {
+						Log.w(LCAT, &quot;Secondary source cache thread interrupted&quot;);
+					}
+					for (int i = 1; i &lt; len; i++) {
+						String url = tfh.getResourceUrl(null, windows.get(i).getWindowUrl());
+						try {
+							app.setSourceFor(url, TitaniumUrlHelper.getSource(app, app.getApplicationContext(), url, null));
+						} catch (IOException e) {
+							Log.e(LCAT, &quot;Unable to pre-load source for &quot; + url);
+						}
+					}
+				}});
+			sourceThread.setPriority(Thread.MIN_PRIORITY);
+			sourceThread.start();
+		}
 
 		if (info.isWindowFullscreen()) {
 			this.requestWindowFeature(Window.FEATURE_NO_TITLE);</diff>
      <filename>android/titanium/src/org/appcelerator/titanium/TitaniumActivityGroup.java</filename>
    </modified>
    <modified>
      <diff>@@ -156,7 +156,7 @@ public class TitaniumAnalyticsService extends Service
 				}
 			}
 		});
-
+		t.setPriority(Thread.MIN_PRIORITY);
 		t.start();
 	}
 </diff>
      <filename>android/titanium/src/org/appcelerator/titanium/TitaniumAnalyticsService.java</filename>
    </modified>
    <modified>
      <diff>@@ -52,6 +52,8 @@ public class TitaniumTabbedAppStrategy implements ITitaniumAppStrategy
         tabHost.setup(tag.getLocalActivityManager());
 
         ArrayList&lt;TitaniumWindowInfo&gt; windows = app.getAppInfo().getWindows();
+        boolean addedToContentView = false;
+
         int len = windows.size();
         for (int i = 0; i &lt; len; i++) {
         	TitaniumWindowInfo info = windows.get(i);
@@ -97,9 +99,13 @@ public class TitaniumTabbedAppStrategy implements ITitaniumAppStrategy
 			spec.setContent(tabIntent.getIntent());
 
 			tabHost.addTab(spec);
+
+			if (!addedToContentView) {
+		 		tag.setContentView(tabHost,linearParams);
+		 		addedToContentView = true;
+			}
         }
 
- 		tag.setContentView(tabHost,linearParams);
 	}
 
 }</diff>
      <filename>android/titanium/src/org/appcelerator/titanium/TitaniumTabbedAppStrategy.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>442daa5ed41d766941fed75deb7ed4fa48f2314c</id>
    </parent>
  </parents>
  <author>
    <name>donthorp</name>
    <email>don@donthorp.net</email>
  </author>
  <url>http://github.com/appcelerator/titanium_mobile/commit/5d894e5f2bc442dda92f67c8d0857a1818be0e85</url>
  <id>5d894e5f2bc442dda92f67c8d0857a1818be0e85</id>
  <committed-date>2009-06-25T10:48:09-07:00</committed-date>
  <authored-date>2009-06-25T10:48:09-07:00</authored-date>
  <message>Tuning of loading to try and dimish slow load perception</message>
  <tree>bd897fd0ed881bbae0098271f42d1f43fcbd1ab5</tree>
  <committer>
    <name>donthorp</name>
    <email>don@donthorp.net</email>
  </committer>
</commit>
