> > You're right, talking about performance implies benchmarks. I'm not > promoting some set of microbenchmarks are needed here to be clear though. > My knowledge may be outdated but as I recall, xml templates are parsed to a > binary format during app packaging to speed up loading of a layout during > runtime. So an example question I had was, on orientation change, is what's > generated by macroid inspecting the view configuration and responding live > in the app by generating a new viewgroup or does it cache all the > possibilities in memory and return the appropriate one or does it transpile > to xml to take advantage of any tooling benefits, or so on. >
There is no caching or transpiling — the layout just consists of normal Scala methods and is calculated in onCreate or wherever you instantiate it. For example, w[Button] just translates into Ui(new Button(ctx)). Right, macros. I've been needing to read up on that to tidy up a managed > event trait I wrote that makes broadcast receiver and content observer use > more orthogonal across activities, fragments, and custom views. > > My concern again comes around in the implementation. I'm working on some > fairly mid sized projects and memory is already a concern, so if I have 184 > layout files (b/c I do just looking at this one project now), I'd want an > idea of what to expect based on at least a simplistic understanding of the > implementation. > Do you mean runtime memory? Or application size? Or maybe method count? The runtime memory (perhaps after a round of GC) should be the same as with creating the widgets/layouts in any other way. I can’t pull any numbers for the other two though. I didn't see that coming, no :) > > If I'm being honest, I should probably just suck it up. Most of the scala > community doesn't seem to have a problem with such things or even using > unicode characters in place of things like -> or => or even the stuff i've > seen in scalaz. > I am also asking because someone told me it’s hard to type “~” on a German keyboard (I have not checked if you are German or not). Not sure about the validity of this claim, however. As far as I understand, it requires two keys to be pressed, which is exactly the same number as on my qwerty. Anyway, personally I find it very pleasing to type —, “, ”, ←, →, ⇒, etc. I have a modified keyboard layout, which has all of these (and much more) bound to AltGr combinations. I think we — as a community — should distinguish between *“operators are bad, Unicode is evil”*, *“I need 10 minutes to type this symbol”*, *“this operator does not convey the meaning of the operation performed” *and *“there are just too many operators”*. The latter three should always open room for discussion and reconsideration. I tried to address the “too many” issue here: http://macroid.github.io/guide/Operators.html, while the association between “<~” and “tweaking”/“mutation” should be more or less clear on its own. Nick -- You received this message because you are subscribed to the Google Groups "scala-on-android" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
