# Slow label text assign in Android

**URL:** <https://community.thunkable.com/t/slow-label-text-assign-in-android/163791>\
**Category:** Questions about Thunkable X\
**Created:** [July 31, 2019, 4:37pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791 "2019-07-31T16:37:17Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![IWS](https://avatars.discourse-cdn.com/v4/letter/i/50afbb/32.png) [@IWS](https://community.thunkable.com/u/IWS)\
**Post date:** [July 31, 2019, 4:37pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/1 "2019-07-31T16:37:17Z")

</div>

Ever since Thunkable X was updated to include app, stored, and cloud variable types, the speed on Android while using these variables has plummeted. There are seconds of lag when filling up a bunch of labels with text values from variables. But it doesn’t slow down as much when using local variables that are auto generated. See example test project…

[https://x.thunkable.com/copy/bd1fd30ebab40d1bdabbbf975506b3c7](https://x.thunkable.com/copy/bd1fd30ebab40d1bdabbbf975506b3c7)

https://i.imgur.com/fGaGmCu.gifv?twitter#t

its been like this for almost a year now. I’m paying for Pro and this seems very unacceptable.

---

<div class="post-metadata">

**Author:** ![domhnallohanlon](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/domhnallohanlon/32/29554_2.png) [@domhnallohanlon](https://community.thunkable.com/u/domhnallohanlon)\
**Post date:** [August 1, 2019, 12:16pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/2 "2019-08-01T12:16:10Z")

</div>

Hi @IWS,

> [@IWS](#):
>
> its been like this for almost a year now

Sorry to hear that you’ve been dealing with this for so long now. Can you let us know whether this is only affecting the live testing app or of the behaviour is the same for apps that are installed directly on your device?

---

<div class="post-metadata">

**Author:** ![IWS](https://avatars.discourse-cdn.com/v4/letter/i/50afbb/32.png) [@IWS](https://community.thunkable.com/u/IWS)\
**Post date:** [August 1, 2019, 12:30pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/3 "2019-08-01T12:30:50Z")

</div>

live and downloaded/installed android apps. tested on many different android devices. all slow. iphones are unaffected when using variables to fill text labels and fill really fast. Android is super slow for some reason as soon as a (app/stored/cloud) variable is involved. for-loop, screen “local” variables don’t affect speed and perform as expected.

---

<div class="post-metadata">

**Author:** ![IWS](https://avatars.discourse-cdn.com/v4/letter/i/50afbb/32.png) [@IWS](https://community.thunkable.com/u/IWS)\
**Post date:** [August 5, 2019, 1:39pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/4 "2019-08-05T13:39:52Z")

</div>

other folks are seeing the same also…

> <https://github.com/thunkable/thunkable-issues/issues/216>

---

<div class="post-metadata">

**Author:** ![Deluxe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/deluxe/32/30016_2.png) [@Deluxe](https://community.thunkable.com/u/Deluxe)\
**Post date:** [August 29, 2019, 2:31pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/5 "2019-08-29T14:31:41Z")

</div>

I am seeing the same issue and I believe this should be treated as a high-priority one. We now can leverage the clone feature to dynamically add components on screen using a loop, filling each of the components with information from a local DB. However, as the assigning of text values to the components, it renders the clone feature practically unusable especially when you clone more than 10 times and the element you clone is a bit “complex” such as a column which contains rows, buttons and labels.

I have created a benchmark app which demonstrates three (3) bugs/issues:

1. Cloning elements slows down significantly as clones get generated
2. Assigning text to elements is very slow on Android (this is the issue described in this thread)
3. Using a “count” loop to clone elements will not show the cloned elements on screen as they get created **unless** you add a variable change in the loop. (yup… don’t ask me how I spotted this).

[https://x.thunkable.com/copy/d2de1557fc73fc8eae7bb8b4496efd65](https://x.thunkable.com/copy/d2de1557fc73fc8eae7bb8b4496efd65)

To test the 3rd point, use the last two buttons (Count, Count v2).

Anyone happy to give a hand here?

Thanks  
Konstantinos

---

<div class="post-metadata">

**Author:** ![actech](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@actech](https://community.thunkable.com/u/actech)\
**Post date:** [August 29, 2019, 3:15pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/6 "2019-08-29T15:15:13Z")

</div>

If cloning occurs in a loop, then copies will not be displayed on the screen, because the execution of the loop blocks the execution of the main stream, in which the information on the screen is updated. Use a delay block with a small value to delay iterations and provide the system with time to update the information on the screen.

---

<div class="post-metadata">

**Author:** ![IWS](https://avatars.discourse-cdn.com/v4/letter/i/50afbb/32.png) [@IWS](https://community.thunkable.com/u/IWS)\
**Post date:** [August 29, 2019, 3:30pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/7 "2019-08-29T15:30:29Z")

</div>

It’s slow whether the label value is assigned inside a loop or manually one by one. It delays/lags when setting the label value from a variable (on android). I only used a loop and component creates to illustrate it quicker.

---

<div class="post-metadata">

**Author:** ![Deluxe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/deluxe/32/30016_2.png) [@Deluxe](https://community.thunkable.com/u/Deluxe)\
**Post date:** [August 29, 2019, 3:42pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/8 "2019-08-29T15:42:19Z")

</div>

Hey @actech, not sure I can agree with what you mention. My test app proves exactly the point I make, unless by “loop” you only mean the “count” loop and not the “While” and “Repeat” loops which in fact **do** render the cloned elements on screen as they get created. The “Count” loop **will also** render the clones but only if you update a variable in the loop, even if that has nothing to do with the cloned elements. Check my test app for that.

Thanks  
K

---

<div class="post-metadata">

**Author:** ![Deluxe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/deluxe/32/30016_2.png) [@Deluxe](https://community.thunkable.com/u/Deluxe)\
**Post date:** [August 29, 2019, 3:43pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/9 "2019-08-29T15:43:20Z")

</div>

@IWS agreed. It is as fun as watching paint dry… 😄

---

<div class="post-metadata">

**Author:** ![IWS](https://avatars.discourse-cdn.com/v4/letter/i/50afbb/32.png) [@IWS](https://community.thunkable.com/u/IWS)\
**Post date:** [August 29, 2019, 8:52pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/10 "2019-08-29T20:52:12Z")

</div>

Here is a modification of @Deluxe 's example with an extra tab at the bottom that takes you to a screen that fills labels with and without variables to see the performance differences…

[https://x.thunkable.com/copy/9ccaa9cf1e79f9fea3de39c15e09e242](https://x.thunkable.com/copy/9ccaa9cf1e79f9fea3de39c15e09e242)

---

<div class="post-metadata">

**Author:** ![paulmw](https://avatars.discourse-cdn.com/v4/letter/p/22d042/32.png) [@paulmw](https://community.thunkable.com/u/paulmw)\
**Post date:** [August 29, 2019, 9:13pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/11 "2019-08-29T21:13:12Z")

</div>

@Mark has a fix that should speed up the variables, which will be in our next release

The speed of cloning is definitely slower than it should be. I’ll take a closer look into it after the first version of the canvas component is online. Thanks @Deluxe and@IWS for the demos and @actech for the correct observations.

---

<div class="post-metadata">

**Author:** ![actech](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@actech](https://community.thunkable.com/u/actech)\
**Post date:** [August 30, 2019, 8:16am UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/12 "2019-08-30T08:16:22Z")

</div>

You want to say that on your device the addition of a standby unit does not lead to a screen refresh? It works for me on both iOS and the Android emulator.

![%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/4/1/416a8e5f615cef943e66c8e37f0442c7552f3032.png)

---

<div class="post-metadata">

**Author:** ![Deluxe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/deluxe/32/30016_2.png) [@Deluxe](https://community.thunkable.com/u/Deluxe)\
**Post date:** [August 30, 2019, 8:33am UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/13 "2019-08-30T08:33:03Z")

</div>

Hey @actech

I never said that. What I said was that in order to see the clones as they get created I added a variable change block. That’s all. I never said that your solution does not work. That was your interpretation.

On the other hand, I do believe that this is a “Count” loop bug because I am not getting this issue with the “While” and “Repeat” loops which do not require our tricks to show the cloned elements as they get created. Unless of course we don’t consider “While” and “Repeat” as loops.

In any case, I am glad we brought this to the attention of the Thunkable devs who will fix the issues.

Kind regards  
Konstantinos

---

<div class="post-metadata">

**Author:** ![actech](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@actech](https://community.thunkable.com/u/actech)\
**Post date:** [August 30, 2019, 8:39am UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/14 "2019-08-30T08:39:38Z")

</div>

Well, let’s clarify such a moment. In the figure below, there is no counter update block in the loop. On my Android emulator, while this cycle is running, the screen also does not refresh. Is there a screen update on your device?

 ![%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/a/3/a3a66ed998b454e4c1485bd1870c9545a8f77190.png)

---

<div class="post-metadata">

**Author:** ![actech](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@actech](https://community.thunkable.com/u/actech)\
**Post date:** [August 30, 2019, 9:01am UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/15 "2019-08-30T09:01:21Z")

</div>

A note to my example (when testing in Live).

1. Delays less than 10 ms does not make sense to set. The speed of the core of the system will not allow to obtain less delay.
2. On my iPhone6 ​​(iOS 12.4) blocks are displayed for about 6 seconds.

If instead of using the app loopCounter global block, you use a function variable, the loop will execute in 4 seconds. This suggests that blocks of global variables are slow.

If only the cloning block is left in the loop, the loop will be executed in 1.6-1.7 seconds.

If you need maximum clone creation speed, you should not update the screen when creating them due to a noticeable drop in speed. Instead, use the Loading Icon component.

---

<div class="post-metadata">

**Author:** ![IWS](https://avatars.discourse-cdn.com/v4/letter/i/50afbb/32.png) [@IWS](https://community.thunkable.com/u/IWS)\
**Post date:** [August 30, 2019, 1:08pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/16 "2019-08-30T13:08:37Z")

</div>

thanks for the update… @Mark any ETA on that next release?

---

<div class="post-metadata">

**Author:** ![paulmw](https://avatars.discourse-cdn.com/v4/letter/p/22d042/32.png) [@paulmw](https://community.thunkable.com/u/paulmw)\
**Post date:** [August 30, 2019, 3:24pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/17 "2019-08-30T15:24:00Z")

</div>

The next release will most likely happen sometime before Sept. 6.

---

<div class="post-metadata">

**Author:** ![Deluxe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/deluxe/32/30016_2.png) [@Deluxe](https://community.thunkable.com/u/Deluxe)\
**Post date:** [August 30, 2019, 5:19pm UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/18 "2019-08-30T17:19:46Z")

</div>

Hi @actech

It is in the Count button, not the CountV2. I apologize, I was typing my original message while boarding a plane. Check the Count one…

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/d/1/d16cf180405e41e4936e62b53e68ce05fe8f05e6.png)

Thanks  
K

---

<div class="post-metadata">

**Author:** ![actech](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@actech](https://community.thunkable.com/u/actech)\
**Post date:** [August 31, 2019, 11:22am UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/19 "2019-08-31T11:22:00Z")

</div>

Hi,

I understood. On my Android emulator, when I click on the Repeat, While and Count buttons, everything works the same way - when the loop is running, clones appear on the screen. When I click on Count v2 clones appear only after the completion of the loop.

---

<div class="post-metadata">

**Author:** ![actech](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@actech](https://community.thunkable.com/u/actech)\
**Post date:** [September 1, 2019, 8:39am UTC](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791/20 "2019-09-01T08:39:55Z")

</div>

I conducted a small test of the speed of some blocks and I can say that in the current version of Thunkable X there really are big problems with the speed of some blocks and the display of data on the screen.

The most amazing example is shown below. This is another reason why I try not to use global variables.

 ![%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/1/c/1c5d3058b0c357f786aadcb7807939363f94a771.png)

[Next page](https://community.thunkable.com/t/slow-label-text-assign-in-android/163791.md?page=2)
