You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ha...@apache.org on 2021/12/30 07:13:14 UTC

[royale-docs] branch master updated: more file size info

This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/royale-docs.git


The following commit(s) were added to refs/heads/master by this push:
     new 4df46a9  more file size info
4df46a9 is described below

commit 4df46a9ad79d78461d1ecf0707877799916fa833
Author: Harbs <ha...@in-tools.com>
AuthorDate: Thu Dec 30 09:12:00 2021 +0200

    more file size info
---
 create-an-application/optimizations/minification.md | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/create-an-application/optimizations/minification.md b/create-an-application/optimizations/minification.md
index 94d5ff5..00eba06 100644
--- a/create-an-application/optimizations/minification.md
+++ b/create-an-application/optimizations/minification.md
@@ -107,4 +107,10 @@ You can get lots of clues of places where you should have done a better jobs of
 Sometimes you are going to have to run your minified code and find what broke. Pausing on caught exceptions is often a good way to find **where** your code breaks. Search the surrounding code for un-minified variables or patterns that you might recognize from your source code. Going back to your source code, you can usually figure out what value was not assigned correctly. That should give you clues on where access is broken.
 
 ### Run your app in release mode often
-Constantly checking that your app works both in debug and release mode is important for finding where you might break your app.
\ No newline at end of file
+Constantly checking that your app works both in debug and release mode is important for finding where you might break your app.
+
+## Features which effect file size
+In general, only dependencies you need are included in your app when using Royale. Usually this means additional classes and the associated code. In certain cases, using features will effect the size of *all* your classes because more information will be needed at runtime.
+1. Reflection classes and functions. (To do -- needs a page) (i.e. `getDefinitionByName`, `getQualifiedClassName`, etc.) If you use reflection, information about your classes and accessors is needed at runtime. This adds significantly to the size of your runtime output. If you just need to get the class from an instance you **do not** need reflection (unlike in Flash). There is `org.apache.royale.utils.object.classFromInstance()` which helps for this without a reflection dependency.
+2. [AMF](features/loading-external-data/amf). AMF uses Reflection under the hood to recreate classes from data at runtime. If AMF is important to you, the extra weight might be justified, but make an informed decision.
+3. [Crux](libraries/crux). Crux uses Reflection as well. If Dependency Injection is your thing, then Crux is a solution, but you should be aware of the cost it brings.
\ No newline at end of file