Difference between revisions of "Fast Startup (Client)"
m (LGE moved page Memory Usage (UBIK Android) to Lazy Loading (Client)) |
|||
Line 1: | Line 1: | ||
− | + | {{UBIK}} caches all the local content (which exist on the device) in the devices' memory for fast access. However, as the number of objects grows, the device might become less responsive because of the large memory consumption. Also, the initial loading will take a considerable long time. Therefore, a lazy loading feature {{Version/AndroidSince|2.4.0}}{{Version/WinXSince|2.5.4}} is added to allow some of the content to be loaded on demand. | |
− | {{UBIK}} caches all the local content (which exist on the device) in the devices' memory for fast access. However, as the number of objects grows, the device might become less responsive because of the large memory consumption. | + | |
− | Therefore, a [[UBIK Client Basics#Options|setting]] is provided to control how content is cached in the memory. | + | == Setting (Android) == |
+ | On the Android client, a [[UBIK Client Basics#Options|setting]] is provided to control how content is cached in the memory. | ||
{{Attention|The default value for this setting is [[Memory Usage (Android)#Lazy loading|lazy loading]].}} | {{Attention|The default value for this setting is [[Memory Usage (Android)#Lazy loading|lazy loading]].}} | ||
+ | On the WinX client, lazy loading is the only mode. Therefore, there is no such setting. | ||
=== Eager loading === | === Eager loading === | ||
Line 8: | Line 10: | ||
=== Lazy loading === | === Lazy loading === | ||
− | After users log in, only the essential content is loaded initially into memory. For now, this means everything other than the property values, which are then loaded | + | After users log in, only the essential content is loaded initially into memory. For now, this means everything other than the property values (on Android) / or properties and property values (on WinX), which are then loaded on demand. For example, when |
* The icons of objects are to be displayed; | * The icons of objects are to be displayed; | ||
* Users need to look at the properties of objects; | * Users need to look at the properties of objects; | ||
Line 25: | Line 27: | ||
{{Hint|'''Loading delay''' refers to the time it takes before the next level of content is available during content browsing.}} | {{Hint|'''Loading delay''' refers to the time it takes before the next level of content is available during content browsing.}} | ||
− | {{Attention|When the setting is changed from lazy loading to eager loading, {{UBIK}} will start loading all the content into memory in the background.}} | + | {{Attention|Android Only: When the setting is changed from lazy loading to eager loading, {{UBIK}} will start loading all the content into memory in the background.}} |
== Technical background == | == Technical background == | ||
* [[MetaClass]] and [[MetaProperty]] are not affected by the memory usage setting since they're practically needed all the time; | * [[MetaClass]] and [[MetaProperty]] are not affected by the memory usage setting since they're practically needed all the time; | ||
− | * Once an object's property values are cached under lazy loading setting, they will remain in the memory until one of the following happens: | + | * On Android: Once an object's property values are cached under lazy loading setting, they will remain in the memory until one of the following happens: |
** The memory allocated to {{UBIK}} is running low; | ** The memory allocated to {{UBIK}} is running low; | ||
** Offline preparation is finished with branch(es) downloaded. | ** Offline preparation is finished with branch(es) downloaded. | ||
+ | * On WinX: In general, properties and property values are only loaded on demand. However, those that are classification related are loaded initially so that certain classification-based calculations do not lead to all other properties being loaded as well. | ||
== See also == | == See also == | ||
* [[UBIK Client Basics]] | * [[UBIK Client Basics]] | ||
− | + | [[Category:Client|Lazy Loading (Client)]] | |
− | + | ||
− | + | ||
− | [[Category: | + |
Revision as of 14:46, 9 January 2017
UBIK® caches all the local content (which exist on the device) in the devices' memory for fast access. However, as the number of objects grows, the device might become less responsive because of the large memory consumption. Also, the initial loading will take a considerable long time. Therefore, a lazy loading feature is added to allow some of the content to be loaded on demand.
Contents
Setting (Android)
On the Android client, a setting is provided to control how content is cached in the memory.
The default value for this setting is lazy loading. |
On the WinX client, lazy loading is the only mode. Therefore, there is no such setting.
Eager loading
After users log in, all content is initialized and loaded into memory. This includes the content hierarchy, object display names, property values, etc.
Lazy loading
After users log in, only the essential content is loaded initially into memory. For now, this means everything other than the property values (on Android) / or properties and property values (on WinX), which are then loaded on demand. For example, when
- The icons of objects are to be displayed;
- Users need to look at the properties of objects;
- Documents (Thumbnails) are shown.
Comparison between eager loading and lazy loading
Setting Name | Memory Usage | Loading Delay (See hint below) | Initialization Time after Login |
---|---|---|---|
Lazy Loading | Less | More | Less |
Eager Loading | More | Less | More |
Loading delay refers to the time it takes before the next level of content is available during content browsing. |
Android Only: When the setting is changed from lazy loading to eager loading, UBIK® will start loading all the content into memory in the background. |
Technical background
- MetaClass and MetaProperty are not affected by the memory usage setting since they're practically needed all the time;
- On Android: Once an object's property values are cached under lazy loading setting, they will remain in the memory until one of the following happens:
- The memory allocated to UBIK® is running low;
- Offline preparation is finished with branch(es) downloaded.
- On WinX: In general, properties and property values are only loaded on demand. However, those that are classification related are loaded initially so that certain classification-based calculations do not lead to all other properties being loaded as well.