15 ms·
Android Studio 3.0 Release Notes
- otalp 9y agoDoes this noticeably improve build times and general smoothness? Because that's been the major problem with Android Studio.
- hrydgard 9y agoFor big mostly-C++ projects, it's considerably smoother than 2.3. It's still pretty slow to open and "gradle sync".
- duiker101 9y agoI don't think it does too much but it improves on the instant run feature which does indeed make a huge difference but at times is still dodgy
- izacus 9y agoYes, the new Gradle plugin reworks how dependecies are handled (significantly improving compile times for larger modular apps) and has quite a few improvements in configuration and resource processing performance. Instant run has apparently been rewritten as well. Unfortunately those changes do mean a few breaking changes for build.gradle files.
- vorg 9y agoIf most of my build.gradle files need to be tweaked in order to work with AS 3.0, then I might as well just rewrite them in Kotlin -- after all, they're only 30 lines long. That way, I can use Kotlin as my programming language for Android and my build scripting language.
- on_and_off 9y ago>noticeably improve build times yes, the newish build model is modular, allowing to only compile what needs to. Still not perfect but a huge improvement. >general smoothness Just as before, give enough ram to AS. Generally if it is slow it is because it is constantly trashing the memory.
- mikestew 9y agoTrashing memory, or thrashing? Because with AS, I’ll believe either.
- on_and_off 9y agothrashing, english is not my first language ^^ Hmm; I have been running extremely large projects on AS with a good but not out of this world machine. Compilation times are too slow for my taste (ie even clean should take less than 5 seconds ideally), but the IDE itself is pretty smooth. Again, the trick is to monitor its memory usage. It is a pity that it's up to the user to configure this, but for large projects I had to allocate more memory to AS and it makes it go from unusable to lag free.
- mikestew 9y agothrashing, english is not my first language ^^ No, no, your English is fine, it's AS that's the problem. :-) I assumed that it was probably a typo of some sort, but I would truly have believed either usage. Though AS has gotten better about not trashing memory. That said, I agree that with a properly provisioned machine, AS does well. And it's a vast improvement over its predecessor.
- chickenbane 9y agoYes, this was a major focus for the new Android Gradle Plugin. Unfortunately, this did mean breaking their Gradle DSL (part of reason for the new 3.0 version). Here's a talk discussing the changes: https://www.youtube.com/watch?v=BKRK4SvMtRk https://www.youtube.com/watch?v=BKRK4SvMtRk
- grabcocque 9y agoI'm glad to see Kotlin making its proper debut. Android has been crying out for something a little more expressive and less verbose than Java, and Kotlin fits the bill perfectly.
- V-2 9y agoKotlin is super nice. As a former C# dev who went into Android, I was really dissatisfied with Java, and Kotlin was my rescue. I had to write some C# recently, and I have to admit Kotlin does feel nicer. (Admittedly it is still lacking some good stuff in comparison, eg. _yield return_).
- realharo 9y ago>Admittedly it is still lacking some good stuff in comparison, eg. _yield return_ Is that similar to Kotlin's buildSequence/yield/... implemented with coroutines? https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines.experimental/build-sequence.html https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutin...
- V-2 9y agoIt would seem so, but coroutines are still "experimental". I do hope it will catch up.
- skc 9y agoI wouldn't say Kotlin feels nicer in my opinion, they are both very expressive languages these days. What I like about them both is that you can very often intuit how something is likely to work. Kotlin + Anko makes Android development much less painful indeed.
- lewisj489 9y agoSuch a huge update with lots of new features. I hope smoothness was improved.
- _pmf_ 9y agoHere comes another exciting 3 days of fixing random crashes with our medium product build that builds fine on the command line.
- singularity2001 9y agoI love Intellij but Android Studio so far was a complete constant disaster. Obscure build errors, very slow builds, all kinds of device connection failures, gradle wtfs, (un)necessary manual config edits .....
- singularity2001 9y agoSession 'app': Error Launching activity not much has changed :( I know, the above bug can be circumvented by unchecking "Instant Run"
- singularity2001 9y agoInstallation failed with message Failed to install all . That's enough for today OK, just one more: Error while uploading slice_4.apk : java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String android.os.SystemProperties.native_get(java.lang.String)
- heartbreak 9y agoThis series perfectly sums up my experience with Android Studio. IntelliJ itself, on the other hand, works every time.
- pjmlp 9y agoI always wonder how they actually test it. Last RC did not even update on Macs.
- jakub_g 9y ago"Error Launching activity" depends a lot on the device. For example it happens a lot for me on a Moto G3 but rarely on HTC. Are slow builds AS-specific? I think it's more related to the Android build ecosystem and not the IDE.
- arvinsim 9y agoI feel this is less on Jetbrain's IDE and more on the Android environment.
- top256 9y agoThe big feature is their new profiler. Have you tried it? What do you think?
- eatfish 9y agoOnly played with it a bit so far but it seems to me that the call and flame charts are now missing any timing information. Unless I've overlooked it you can't actually see how long a function takes to execute - defeats the purpose of instrumented profiling surely!
- kllrnohj 9y agoInstrumented trace capture modifies the execution profile too much for timing information to be useful, and then sampling profiling which doesn't modify the execution profile doesn't have timing by its nature. So if you were using the timing data previously you were basically just looking at random numbers that would send you on wild chases into things that weren't real. The new one fixes that by not showing bogus data :)
- eatfish 9y agoThat's not a fair comment and you know it. Yes, instrumentation adds overhead. The absolute numbers cannot be used to determine peak performance but that's never the intention when profiling code. Instrumentation rarely modifies the execution profile to the point that the numbers are 'worthless' or 'random'. My rule of thumb is that self times near the leaves of the callgraph are more accurate than self times further up the graph but having some indication of timing is important. Furthermore with something like the call chart in AS3 you are often looking for outliers that you can't see when looking at an aggregated view of the profile. A function that has an average of 1000us might be running alternately at 500us and 1500us and you want to see that. It may indicate an unknown performance bottleneck, maybe a call to OpenGL is causing a GPU sync for some reason. It's rare that the instrumentation overhead would dominate major effects like that. Having a number available is important for this as you may be comparing invocations/looking at different parts of the graph at different zoom levels etc. Having a number available is the only solution. Furthermore, where do you think the instrumented profiler is getting numbers from in the aggregated views? Answer: exactly the same place that the callchart gets it's numbers from. In essence you are saying all instrumented profilers are inaccurate and reporting bogus numbers, demonstrably untrue.
- Entangled 9y agoKotlin and Swift are godsends to the mobile development world. I am a happy programmer because of that. Kudos to Google and Apple.
- jorgemf 9y agoJetBrains, not Google
- zanedb 9y agoWell, for writing Kotlin. But Google chose to implement it officially.
- jorgemf 9y agoThey said they will support it officially, which means they are in conversations with JetBrains to make it stable in Android Studio. They didn't implement a thing in the language, not even the plugins for android studio. A lot of developers were already using kotlin before google announced anything.
- biafra 9y agoBut it still helps that they endorse it.
- samiq 9y agoFor people that don't actually use Android Studio, what does your dev setup looks like?
- developernotes 9y agoIn the early years of Android Studio, I generally preferred IntelliJ. I have since converted our application and main library (SQLCipher for Android) to use Gradle. I have Instant Run disabled, but otherwise I haven't run into many issues with Android Studio. We still coordinate our library build with a Makefile.
- codeulike 9y agoI use IntelliJ, with LibGDX/Gradle (game development)
- jmkni 9y agoI do Android dev in Visual Studio with Xamarin. Your app is structured the same as a native one (Activities, Receivers, Services, Layouts, etc) and the XML for your layouts is identical, but you get to work in C# and don’t have to deal with Gradle etc. I like it.
- elboru 9y agoWhat downsides does it have compared to a more traditional environment? I'm a C# developer so Xamarin sounds really tempting, it's just that I don't want to break my head on "simple" stuff I could easily avoid with a traditional environment
- titanix2 9y agoYou still have to learn the underlying story platform and API, that’s not abstracted. Also choosing between Xamarin Forms and Xamarin Native for the UI (not compatible between them). Obscure errors sometimes. But from my (little) experience on it, getting to an app running and start working on it is way mire easy than with the Java approach. Give it a try :)
- 9y ago
- alexfi 9y agoWhat a time to be alive! :D
- drinchev 9y agoI wonder how JetBrains shared the license for their IDE with Android the license. As far as I know IDEA community edition is open-source, but I'm wondering if they license allows what Android did with it.
- kasabali 9y ago> separate APKs based on language resources While I'm all for smaller applications, this seems backwards.
- pier25 9y agoIs the emulator getting better?
- gcb0 9y agono. but you should be using 1) virtualbox running android x86 ans 2) real devices for final arm testing
- pier25 9y agoI mostly use real devices. I didn't know you could install Android on Virtualbox, thanks for the tip!
- kasabali 9y ago> virtualbox running android x86 is it faster than emulator properly configured to use KVM or Haxm with x86 image?
- gcb0 9y agoyes. just open port 5555 and then connect via tcp on your dev box (which in my case, is another virtual box vm running ubuntu so i can wipe everything down every time a new version of android studio arrives --you DO NOT want to upgrade)
- kasabali 9y agoThanks, I'll give it a shot next time I need the emulator.
- drampelt 9y agoYes, I've found it to be much faster than it used to be and they've added a lot of settings to simulate different environments. They also recently added quick boot in the preview (https://developer.android.com/studio/preview/emulator.html https://developer.android.com/studio/preview/emulator.html) to improve the boot times.
- 9y ago
- maxpert 9y agoKotlin to rescue! Shameless plug https://hackernoon.com/in-pursuit-of-better-jvm-futures-kotlin-coroutines-281a79211b09 https://hackernoon.com/in-pursuit-of-better-jvm-futures-kotl... I have seen/followed Kotlin since it's early days and I was so sure it's going to be next big thing for Android. After failure of Scala we had no other options :P
- foobaw 9y agoThis is a side note, but most members of the Android team at Google used to have 256 GB of RAM on their computers to compile Android (the entire build). When we used Android Studio, it was blazing fast so most devs that didn't work with users were not aware there was a problem.
- vvanders 9y agoYeah, even on 16G it's a dog. Once I find a good replacement for jump-to-usage in VSCode I'll probably ditch it for good.
- muzani 9y agoIt runs very well on my 16GB RAM. I find a lot of the speed is in internet and hard drive speed. It opens up a full project in 3 seconds with a SSD, assuming there aren't too many dependencies.
- vvanders 9y agoTry it with something non-trivial. SSD here as well, the difference between Android Studio and VSCode is night and day.
- conradfr 9y agoI only use it for a webview app so I'm not that much affected but I'm sad that the flat UI with those grey icons that are in Jetbrains' IDEs are now in Android Studio too.
- mailslot 9y agoI never thought I'd consider Xcode to be fast and lean on resources.
- soulchild37 9y agoXcode was a godsend despite its flaw.
- __alias 9y agowhat's its flaw?
- morsch 9y agoAnybody know if the Scala integration is useful in this release? Apparently the last version wasn't that far off[1]. Has it gotten better or worse? [1] http://scala-on-android.taig.io/editor/android-studio/ http://scala-on-android.taig.io/editor/android-studio/
- TheCoreh 9y agoSo glad the Android Monitor tool is finally replaced. Recently had to do some profiling, and the whole experience was really bad.
- jadbox 9y agoI hope this fixes the emulator on linux. I tried everything I could to get the emulator working, but there were numerous issues.
- lucb1e 9y agoI'd just like to apt install android-sdk and pass some .java file to a compiler, just like with any other language... In the past you could still just grab the sdk without an entire operating system's worth of GUIs, but they've removed that download option now. I'm down to using my own local copy whenever I use a different computer, together with a few shell scripts that I wrote to do the compiling for me, but that won't last forever with new sdk versions.
- marc_omorain 9y agoYou can still download the tools from here https://developer.android.com/studio/index.html#downloads https://developer.android.com/studio/index.html#downloads - see the section named 'Get just the command line tools'.
- deleted 9y ago[deleted]
- yazr 9y agoIs Android Studio today written mostly in java ? Kotlin ? Are some portions written in native (c?) code ?
- anad7 9y agoKotlin was the worst thing that happened to Android, I mean no disrespect but it seems that JetBrains and its team are really trying very hard to shove Kotlin down people's throat, the sad thing is that despite knowing the fact that it doesn't offer any performance improvements over Java, it is being paraded as the next big thing by overtly excited enthusiasts. As a user of Android and a developer I want something that enhances the user experience of the apps I use and I create, I want the apps to feel and behave as smooth as iOS, the team at Google should focus on that and not on fragmenting the already fragmented community, right now they are solving a problem that doesn't exist. I wonder if I would ever see 120/240 FPS apps in the future or if I could offload UI work and animations to a different core because you know your 7 cores are sitting idle and you can do nothing about it.
- biafra 9y agoAs as developer I am totally happy that it increases my productivity. You know, you don't have to use it? It is not shoved down your throat. It is a supported offer.
- rallycarre 9y agoIt doesn't fragment the community as you can call kotlin code from java and vice versa. Seamlessly. Kotlin is great in that it brings Java 8 features to Java 6(lambda expressions, functional programming, etc.) and more. It's a boon to productivity and makes programming in the Java ecosystem fun again. There is a sometimes increase in compiling speed but it's very marginal and the method counts increase with the transpiling but it's not noticable until the app get's on the larger side.
- charleslmunger 9y agoFor what it's worth Android has used a separate thread for rendering since API 21. When you implement onDraw, it's really recording the commands and then sending them to the render thread for actual execution.