Skip to content

TabView.androidOffscreenTabLimit property #2815

@adisoftbn

Description

@adisoftbn

Please, provide the details below:

It blown my head for 3 days, while I tried to find a solution and found that the issue comes because TabView recreates every tab after it becomes inactive which leads to huge freeze if you have some heavy components.

I have 5 tabs. In the second one I have a list view with 100 rows.

At first load, all tabs are showing very fast.

If i open tab 4 or 5, next time i open tab 2, i have a freeze of 2 seconds. I saw that the list view is recreated every time after the tab becomes inactive. And it becomes inactive only when i open a tab which is not the next or previous one.

If i switch from 1 or 3 to second tab(and I haven't switched before to 4 or 5) the change is instant. But if I switch to 4 or 5, the next time I open a tab with ListView the switch takes minimum 2 seconds.

The switch to the other tabs(without a list views) doesn't need more than 300-400ms even if they were inactive before. Tested with both ListView and RadListView. And I use async pipes right now.

If I remove the ListView component every tab switch takes maximum 300-400ms for reload.

By the way, I use my Samsung Galaxy S7 for testing, and I didn't had any other application hanging like this since i bought it(6months ago)

Did you verify this is a real problem by searching [Stack Overflow]

Yes, i checked documentation, stackoverflow, all related nativescript issues and all the internet related blog posts.

Tell us about the problem

I need to prevent recreation of TabView content after the tab becomes inactive, because the switch to a tab with a ListView freezes de UI for 2 seconds.

Which platform(s) does your issue occur on?

Android

Please provide the following version numbers that your issue occurs with:

  • CLI: 2.3.0

  • Cross-platform modules: 2.3.0 and tested also with @next

  • Runtime(s): 2.3.0

  • Plugin(s):
    @angular/common: 2.0.1

    @angular/compiler: 2.0.1

    @angular/core: 2.0.1

    @angular/forms: 2.0.1

    @angular/http: 2.0.1

    @angular/platform-browser: 2.0.1

    @angular/platform-browser-dynamic: 2.0.1

    @angular/platform-server: 2.0.1

    @angular/router: 3.0.1

    nativescript-angular: 1.0.1

    nativescript-drop-down: ^1.3.2

    nativescript-intl: 0.0.4

    nativescript-statusbar: ^1.0.0

    nativescript-telerik-ui: ^1.4.1

Please tell us how to recreate the issue in as much detail as possible.

angular app with 5 tabs(tabview), and insert one ListView/RadListView in one of the tabs, then switch the tabs. Everytime when you switch to the tab with the ListView(from a tab which is not next one or previous one) you get a freeze of 2 seconds.

Is there code involved? If so, please share the minimal amount of code needed to recreate the problem.

I will try to make a small demo with the problem soon.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions