NativeScript / NativeScript/android
Running some native code for the first time results in application lag
@triniwiz y travaille déjà.
Depuis le 8/9/2021.
- Langage dominant
- C++
- Étoiles
- 563
- Forks
- 144
- Merge moyen
- 10 h 46 min
- PR mergées (30 j)
- 14
Description
Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):
- CLI: 5.3.0
- Cross-platform modules: 5.3.1
- Android Runtime: 5.2.x and 5.3.0 tested
Describe the bug
When using trying to use some android variables or instantiate some instances, the first call will have a heavy delay (500-600ms on a Galaxy S8).
Using the playground, reading android.R.integer.config_shortAnimTime, android.R.attr.state_pressed and android.R.attr.state_enabled all caused a delay, which froze the UI.
Downloading the project and using NS 5.3, calling nativeView.getContext().getResources().getInteger also called a delay and freeze. Edit: Running with --bundle shortens this delay for some reason (takes something like 30-40ms)
This freeze happens only on the first time the code is run, after that it takes less than 10ms.
To Reproduce
Measure how long it takes to call:
const t = android.R.integer.config_shortAnimTime; // should take long on first time
nativeView.getContext().getResources().getInteger(t); // should take long on first time in 5.3
Expected behavior
These calls should behave on the first time as they do on the second and onward.
Sample project
https://play.nativescript.org/?template=play-ng&id=28zxPb&v=6
Additional context
We discovered it by https://github.com/JoshDSommer/nativescript-ngx-shadow/issues/16
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Évaluation
Cette issue n'a pas encore été évaluée.