On-finish-render called before rendering, 2 sec delta


#1

Hello,

I have list of 30 items with two images (right/left) and some text in center. The images: 74x74 and represented as base64 strings.

This is my list item:

       <a 
         bindonce
         class="item wm-group-item" 
         ng-repeat="group in getGroupList()" 
         on-finish-render="renderDone" ng-cloak style="padding: 0;"
         
            bo-href="'#sidemenu/group/' + group.mGroupId + '/' + group.groupStatus.name" >
            <div class="row wm-group-row" >
                <div class="col col-20" >
                    <wm-group-item-left group="group"></wm-group-item-left>
                </div>
                <div class="col wm-col-65" >
                    <wm-group-item-center group="group"></wm-group-item-center>                    
                </div>

                <div class="col wm-col-15" >
                    <wm-group-item-right group="group" ></wm-group-item-right> 
                </div> 
            </div>           
        </a>
</div>

When I run on device (Nexus 5) I get on-finish-render="renderDone" results:

renderDone 1016. That mean: Took me ~ 1sec to run controller, load data from Android Share preferences and rendering

However its not true.

If I’ll use simple online stopper it takes about 3 sec from Splash-screen image to list view.

I ran 20 times and this is a average.

So difference is 2 sec!!!

My renderDone method:

$scope.$on('renderDone', function(ngRepeatFinishedEvent) {
    console.log("groups renderDone - Done");
    ManagerService.splashscreenHide();        
    var mid = new Date().getTime(); console.log('~~~~~~~~~~~~~~~renderDone', (mid - start));

     // after rendering done change list size from 6 to 99999
     $timeout(function() {
            $scope.groupListSize = 99999;
                },1000);

// here I do other stuff like loading other data from Share Preferences
});

My question is:

What device does during delta 2sec? after rendering “done” is called?

I use bindonce and base64 images so there is no additional async calls.

I thought to use | limitTo : groupListSize where groupListSize=6 on start and after 50 milli I change it to 99999.

But get the same results.

Thanks,