From 5b53cd78cd7ac1469b4e2985098bd04dca00a296 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Thu, 4 Jun 2009 11:10:17 -0700 Subject: [PATCH 01/36] page load perfomance improvements... remove the lists.js file from the , which slows down page load a lot (over 300K), and instead load it dynamically on page load. also remove navtree_data.js from the , which also slows the load and is only used in the reference when in tree view. This file is now loaded during the initialization of the nav tree. --- tools/droiddoc/templates-sdk/customization.cs | 5 +++-- .../templates/assets/android-developer-docs.js | 11 ++++++++++- tools/droiddoc/templates/assets/navtree.js | 14 +++++++++++++- tools/droiddoc/templates/head_tag.cs | 2 -- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/tools/droiddoc/templates-sdk/customization.cs b/tools/droiddoc/templates-sdk/customization.cs index 0cb85e8d0..9ec1f44b5 100644 --- a/tools/droiddoc/templates-sdk/customization.cs +++ b/tools/droiddoc/templates-sdk/customization.cs @@ -151,8 +151,9 @@ def:default_left_nav() ?> if (!isMobile) { $("Use Tree Navigation").appendTo("#side-nav"); chooseDefaultNav(); - if ($("#nav-tree").is(':visible')) init_navtree("nav-tree", "", NAVTREE_DATA); - else { + if ($("#nav-tree").is(':visible')) { + init_default_navtree(""); + } else { addLoadEvent(function() { scrollIntoView("packages-nav"); scrollIntoView("classes-nav"); diff --git a/tools/droiddoc/templates/assets/android-developer-docs.js b/tools/droiddoc/templates/assets/android-developer-docs.js index 016fa4e49..160e4926d 100644 --- a/tools/droiddoc/templates/assets/android-developer-docs.js +++ b/tools/droiddoc/templates/assets/android-developer-docs.js @@ -31,6 +31,15 @@ if ((agent.indexOf("Mobile") != -1) || addLoadEvent(mobileSetup); } +/* loads the lists.js file to the page. +Loading this in the head was slowing page load time */ +addLoadEvent( function() { + var lists = document.createElement("script"); + lists.setAttribute("type","text/javascript"); + lists.setAttribute("src", toRoot+"reference/lists.js"); + $("head").append($(lists)); +} ); + window.onresize = resizeAll; function mobileSetup() { @@ -282,7 +291,7 @@ function swapNav() { nav_pref = NAV_PREF_PANELS; } else { nav_pref = NAV_PREF_TREE; - init_navtree("nav-tree", toRoot, NAVTREE_DATA); + init_default_navtree(toRoot); } var date = new Date(); date.setTime(date.getTime()+(10*365*24*60*60*1000)); // keep this for 10 years diff --git a/tools/droiddoc/templates/assets/navtree.js b/tools/droiddoc/templates/assets/navtree.js index f48e1dcad..8e7a91caf 100644 --- a/tools/droiddoc/templates/assets/navtree.js +++ b/tools/droiddoc/templates/assets/navtree.js @@ -144,8 +144,20 @@ function find_page(url, data) return null; } +function load_navtree_data(toroot) { + var navtreeData = document.createElement("script"); + navtreeData.setAttribute("type","text/javascript"); + navtreeData.setAttribute("src", toroot+"navtree_data.js"); + $("head").append($(navtreeData)); +} + +function init_default_navtree(toroot) { + load_navtree_data(toroot); + init_navtree("nav-tree", toroot, NAVTREE_DATA); +} + function init_navtree(navtree_id, toroot, root_nodes) -{ +{ var me = new Object(); me.toroot = toroot; me.node = new Object(); diff --git a/tools/droiddoc/templates/head_tag.cs b/tools/droiddoc/templates/head_tag.cs index 61559e11d..f721403e2 100644 --- a/tools/droiddoc/templates/head_tag.cs +++ b/tools/droiddoc/templates/head_tag.cs @@ -11,14 +11,12 @@ else ?> - -