facebook

List view is slow and jumpy

  1. MobiOne Archive
  2.  > 
  3. Getting Help – General
Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #347415 Reply

    Hi,

    I’m having some problems with my list – it’s slow and jumpy. It contains aprox 50-250 items. If it’s under 15-20 items it’s okay – but not impressing.

    In short here is what I do.

    I get a jsonfile from my server and load it into local storage. From local storage I build the list using the code below.

    I found a post where support suggested to change the page to “Remote Web Page” but it seems like it getting even slower if I’m doing that.

    I would appreciate any input to fix the issue.

    By the way – I’m getting my app refused on the amazon store – when they test it on kindle, they can not login!!!! Any suggestions?

    function render_list( container_id ) {
    
        if(container_id == 'm1-listnearby'){
            var jsonstr = window.localStorage.getItem('tds.dk_data_nearby');
            list_items = JSON.parse(jsonstr);
        }
        if(container_id == 'm1-listdeal'){
            var jsonstr = window.localStorage.getItem('tds.dk_data_deal');
            list_items = JSON.parse(jsonstr);
        }
        if(container_id == 'm1-listevent'){
            var jsonstr = window.localStorage.getItem('tds.dk_data_event');
            list_items = JSON.parse(jsonstr);
        }
        if(container_id == 'm1-listnews'){
            var jsonstr = window.localStorage.getItem('tds.dk_data_news');
            list_items = JSON.parse(jsonstr);
        }
        if(container_id == 'm1-listfav'){
            var jsonstr = window.localStorage.getItem('tds.dk_data_fav');
            list_items = JSON.parse(jsonstr);
        }
        
        var container = $("#" + container_id);
        var list = $("ul[class*=m1-list]" , container);
        var clone = $("li:first" , list).clone();
        var list_height = list.outerHeight();
        
        
        //$("li" , list).remove();  // <-old
        list.children("li" ,list).remove(); // <-New
     
        var length = list_items.length;
        var item = null;
    
        //put mypos into items array->
        items.length = 0;
        items.push({lat:localStorage.getItem('tds.dk_mylat'),lng:localStorage.getItem('tds.dk_mylng'),selItem:0,itemid:'Me',itemhead:'Me',locname:'My position',center:'yes',mapicon:markerIconMe});
        //put mypos into items array<-
      
        for (var i = 0; i < length; i++) {
            item = list_items[i];
            $(clone).removeClass("m1-first m1-last");
        
            //put itempos into items array->
            items.push({lat:item['lat'],lng:item['lng'],selItem:i,itemid:i,itemhead:item['head'],locname:item['loc_name'],center:'no',mapicon:markerIcon});
            localStorage.setItem('tds.dk_mapmarkers',JSON.stringify(items));
            //put itempos into items array<-
        
            if(i == 0)
                $(clone).addClass("m1-first");
           
                if(i == length-1)
                    $(clone).addClass("m1-last");
                    $(clone).attr("data-listitem-index" , i);
    
                    if(item["img"]){
                        $("div[id*=txtImg]",clone).html('<img src="'+item["img"]+'" width="60" align="top">');
                    }
            
                    $("div[id*=txtHead]"      ,clone).text(item["head"]);      //All
                    $("div[id*=txtDist]"      ,clone).text(item["dist"]);      //All
                    $("div[id*=txtDisc]"      ,clone).text(item["disc"]);      //Deal, Event & News List
                    $("div[id*=txtCat]"       ,clone).text(item["cat"]);       //Nearby List
                    $("div[id*=lat]"          ,clone).text(item["lat"]);       //All
                    $("div[id*=lng]"          ,clone).text(item["lng"]);       //All
                    list.append($(clone).clone());
        }
    
    var panel_ht = list_height * length + 15;
    $("div[id*=scroller]" ,  container).attr("data-layout-content-height", panel_ht);
    
    phoneui.preprocessDOM(list);
    phoneui.forceLayout();
    }
    #347416 Reply

    Brandon
    Member

    I dont have a lot of time to go through your code right now, but, it must be something else. I have a list that uses a XML file with 115 items and it doesnt have a problem with speed, it works great. I am pulling from a local file, maybe you should try using a local file and see if its still slow. If it is maybe break you process into smaller functions where you can narrow it down easier. Sometimes you can use alerts for this, but not always.

Viewing 2 posts - 1 through 2 (of 2 total)
Reply To: List view is slow and jumpy

You must be logged in to post in the forum log in