SuperOptimize is a package to shrink, obfuscate and optimize your Java code for SuperWaba. The resulting files will be smaller, obfuscated, and heavily optimized.
Unlike the standard tools that come with the SuperWaba SDK, SuperOptimize uses the most advanced OpenSource tools available for the best results: the Soot framework for optimizations and ProGuard for shrinking and obfuscating.
Soot is the key component for the optimization of your programs. It uses four intermediate code representations for analyzing and transforming Java bytecode. The result is usually slightly bigger, but more performant code.
Shinking means removing all the classes and methods that are never used in your programs. This might sound strange, but it happens more than often. Of course shrinking means producing smaller files that take less time to load and consume less memory.
In the SuperWaba VM, like almost every Java VM, packages, methods, attributes and classes are looked up by name. That means, searching strings at run time. This is not particularly good for performance, especially with long strings beginning with the same characters (and that happens quite often, too).
Obfuscating is the process in which classes, methods, attributes and packages are renamed into very short strings like "A" or "bc" that take less to be searched by the VM. This also produces smaller binaries that consume less memory and take less time to load.
Obfuscating your .class files makes it also more difficult for others to understand your program by disassembling it. It's far from making reverse-engineering difficult though, so don't rely on it very much from a security point of view.
· SuperOptimize can't be used for commercial purposes