LCFM Native – Faster Android Graphics and 35 Improvements

by Heather Laine on October 9, 2019 No comments

Progress on LCFM Native continues rapidly. We’ve made some big steps forward in this release. The most notable is that we’ve greatly improved the graphic display performance of apps on all platforms, and most particularly on Android.

Better Performance

That means your apps now render and respond to user interaction faster. You’ll notice improvements on any screen that is scrolled by the user, whether it’s a details view, portal or a list view. Thumbnail rendering is now also optimized (and we’ve also implemented the FileMaker Get(Thumbnail) function). This is a major change that will improve the usability of every app built with LCFM Native and it makes mid-range Android devices a good target for use with LCFM Native for the first time.

35 Enhancements

Along with the interactivity performance boost, there are a total of 35 feature additions, improvements and bug fixes. One of the most important is that we’ve tweaked the way things work under the hood to make edits to an app’s data more likely to survive a hard quit of the app. We’re now auto-saving data whenever the app goes into the background. For those of you that want to dig into the details, below is a complete list of everything that has made it into the release. You can also read a list of everything that has been implemented and remains to be implemented here. We’re starting to see increasingly complex apps run perfectly out of the box which is super exciting for us. We have some further performance improvements to come, in particular as we start to compile data access functions right down to machine code. Thanks to everyone who has taken the time to send us feedback – please keep it coming!

Updated Demo Apps

We’ve also updated our demo Android apps. You can install these on your Android device. The first is the FileMaker Sample Assets app and the second is DevCon2Go.

Your Complete Changelist:

Tool

  • The tool no longer briefly shows artefacts of the license agreement screen on startup, if the license agreement is accepted.

Deployment

iOS Settings

  • Supported orientation settings are now respected on iOS apps

Runtime

Find Requests

  • Find request criteria containing timestamps are now correctly interpreted.

Functions

ExecuteSQL

  • The SQL syntax accepted by the ExecuteSQL function has been expanded slightly. The where clause is now optional, arbitrary whitespace can appear between tokens and column, table and field names may be quoted.

Get(Thumbnail)

  • The Get(Thumbnail) function is now implemented.

GetLayoutObjectAttribute

  • The GetLayoutObjectAttribute function will no longer cause the application to exit in some cases if used in either the on-first-window-open or on-window-open triggers.

LayoutIDs

  • The output of the LayoutIDs function is now in the correct order

LayoutNames

  • The output of the LayoutNames function is now in the correct order

Left, Right, Middle functions

  • The Left function will now evaluate to empty if the number of characters is negative.
  • The LeftValues function will now evaluate to empty if the number of values is negative.
  • The LeftWords function will now evaluate to empty if the number of words is negative.
  • The Middle function will now evaluate to empty if the number of characters is negative and treat a negative start character as if it were one.
  • The MiddleValues function will now evaluate to empty if the number of values is negative and treat a negative start value as if it were one.
  • The MiddleWords function will now evaluate to empty if the number of words is negative and treat a negative start word as if it were one.
  • The Right function will now evaluate to empty if the number of characters is negative.
  • The RightValues function will now evaluate to empty if the number of values is negative. 
  • The RightWordsfunction will now evaluate to empty if the number of words is negative.

PI

  • Using the number Pi in functions will no longer cause the application to exit

ScriptIDs and ScriptNames

  • The output of the ScriptIDs function is now in the correct order
  • The output of the ScriptNames function is now in the correct order

Tables

  • The output of the TableIDs function is now in the correct order
  • The output of the TableNames function is now in the correct order

Valuelist

  • The output of the ValuelistIDs function is now in the correct order
  • The output of the ValuelistNames function is now in the correct order

Layout Objects

Conditional Styling

  • Conditional styles which are enabled but do not have any styles to be applied are recognised, meaning that any side-effects of the calculation occur.

Lines

  • Using a dotted line with a line width that is not an even integer will no longer cause the application to exit
  • Using a dashed line with a line width that is not an even integer will no longer cause the application to exit

Performance

  • Container image data is now cached at its required size to speed up rendering of container thumbnails.
  • The performance of scrolling views and lists has been improved.

Script Steps

Found Set

  • Using Constrain Found Set with a find request which has an initial omit query will now compute the correct foundset.
  • Using Extend Found Set with a find request which has an initial omit query will now compute the correct foundset.

Go To Object

  • Targeting a non-field object in a popover with Go To Object will no longer cause the application to exit.

Perform Find

  • Using Perform Find with a find request which has an initial omit query will now compute the correct foundset.

Tables

  • Tables in multi-file projects with the same id no longer return incorrect data when querying related fields.
  • User data is now flushed to disk when the application is suspended, which prevents data loss when the application is forced to terminate
Heather LaineLCFM Native – Faster Android Graphics and 35 Improvements

Join the conversation