I discussed both of these last week but we’ve made some progress that warrants a dedicated post. We added a new feature that allows you to block copy & paste on a text component either globally or on a case by case basis. This is helpful for highly sensitive applications.
This feature was previously restricted to Android but is now available to iOS as well with no change required to your code.
What started as a bunch of optimizations to fix issue 2024 evolved to a set of optimizations that should make the generated iOS code more readable, smaller & faster. This took some twists and turns and for now we reverted this set of changes until next Friday.
However, the end result is that this should also shorten build times noticeably although not for everyone…
clang compiler is very slow when dealing with large methods and macros. By optimizing away some of the more ASM oriented conventions of the bytecode and substituting them with direct variable/constant usage we reduced some overheads.
If you weren’t directly impacted by this you probably won’t see any performance impact. The speed of the JVM rarely factors into the performance of Codename One which is governed more by the speed of the native port than anything else.
One of the things to notice in the issue discussion is that the original optimization fixed the problem while causing worse compilation times for different code pathways. That’s why optimizations & fixes are so tricky in a product as big as Codename One as regressions can be very complicated.