Guest Post: Slow mobile app = Millions in lost sales [Part 1]
NimbleDroid Blog
by
3y ago
New HeadSpin Holiday Season Site Speed Test: 60% of top etailers too slow App speed is widely understood as a key UX metric. And more companies are grasping that “load time affects bottom line.” But how, more precisely, does app performance impact online sales? That was the big question behind HeadSpin’s new Holiday Ecommerce Site Survey. It’s a big question. Good news: Mcommerce made up 34.5% of $106 billion in 2017 holiday season online sales, according to eMarketer. That share is expected reach 50% by 2021. Forrester predicts U.S. retail sales from mobile devices will break $280 billion by ..read more
Visit website
Guest Post: Slow mobile app = Millions in lost sales [Part 2]
NimbleDroid Blog
by
3y ago
Part 2 Causes and Remedies In part one of this two-part post about on new HeadSpin’s App Speed Survey, we took a closer look at how we did the testing and at the detailed results. In part two, we’ll look at common causes of sales-killing slowness in Android apps, and what you can do to avoid getting Grinched all year long. FIVE CAUSES OF SLOWNESS 1) Java reflection Reflection is, of course, an extremely useful aspect of Java and Android development. Yet it turns out that reflection, when used inappropriately, can often be the source of huge overhead within an Android application. For instance ..read more
Visit website
Guest Post: How NimbleDroid helped Flipkart speed up app startup by 45%
NimbleDroid Blog
by
3y ago
We found Nimbledroid via http://androidweekly.net/ and checked it out starting in 2016. We had been looking for a service to help us identify where exactly in code we needed to improve Flipkart performance time. Over the last five months NimbleDroid has helped us detect and fix several performance bottlenecks, as well as preventing two serious performance regressions from going live to millions of users. Below we describe the most interesting issue NimbleDroid identified. Issue: While reviewing NimbleDroid’s list of reported issues we discovered that parsing of JSON network responses was takin ..read more
Visit website
Eight Ways Your Android App Can STOP Leaking Memory
NimbleDroid Blog
by
3y ago
In part one of this blog post “Eight Ways Your Android App Can Leak Memory”, we went over eight different ways your code can cause your Android application to leak memory. Specifically, all eight leaks were leaking an Activity instance, which is particularly dangerous because activities have a very large footprint in memory. Despite all the different ways to leak an Activity that we presented, every problem really boils down to one fundamental issue: preserving a reference to the Activity after its defined lifecycle has completed. Thankfully, once a leak has been tracked down and identified, t ..read more
Visit website
App Diets are not a Fad
NimbleDroid Blog
by
3y ago
(This is our second guest post by Mikhail Nakhimovich. By day Mikhail Nakhimovich is an architect of the award winning New York Times Android App and by night he writes about Android and helps startups create performant, delightful apps with his team at Friendly Robot.) In our last post we explored an architecture/library selection that would lead to nearly perfect startup times. Today I wanted to explore another type of performance optimization: APK size. A smaller APK results in faster resource lookup and faster reflection. Image optimization, an important way to cut down APK size, allows fo ..read more
Visit website
App瘦身不只是一个传说
NimbleDroid Blog
by
3y ago
(这是来自 Mikhail Nakhimovich 的第二篇文章。Mikhail Nakhimovich 白天在屡获殊荣的纽约时报安卓 APP 团队担任架构师,晚上则撰写安卓 APP 开发相关的文章,以及在 Friendly Robot 团队帮助开发者开发高性能、用户体验优良的 APP。) 在上一篇文章中,我们探究了一套能保证近乎完美的 APP 启动体验的架构/第三方库的选择。今天我想探究另一种性能优化:APK 的大小。更小的 APK 会带来更快的资源查找和反射调用。图片优化是一种重要的 APK 瘦身手段,能减少更多的掉帧现象。而且用户通常更喜欢更小的 APP,因为它们需要下载的数据更小,安装占用的空间也更小。 今年我有幸参加了 Google I/O 大会,大会上 Wojtek Walicinski 演讲了如何缩小 APK 的大小(“为你的 APP 瘦身”)。我建议大家观看完整的视频,本文将总结视频中的主要内容。我们也将在 Q&A 环节中和来自谷歌的性能优化专家 Boris Farber 进行深入探讨。 为什么 APP 的大小很重要? 一言以蔽之,性能。APP 越小,需要加载的资源也就越少,速度也就越快。在我的 APP 中,移除掉 20K 个方法之后,加载 layout 的速度提升了 30 ..read more
Visit website
Eight Ways Your Android App Can Leak Memory
NimbleDroid Blog
by
3y ago
One advantage of a garbage-collecting-language like Java is that it removes the need for developers to explicitly manage allocated memory. This reduces the likelihood of a segmentation fault crashing the app or an unfreed memory allocation bloating the heap, thus creating safer code. Unfortunately, there are other ways that memory can be leaked logically within Java. Ultimately, this means that your Android apps are still susceptible to wasting unnecessary memory and crashing as a result of out-of-memory (OOM) errors. Traditional memory leaks occur when you neglect to free allocated memory bef ..read more
Visit website
常见的八种导致 APP 内存泄漏的问题
NimbleDroid Blog
by
3y ago
像 Java 这样具有垃圾回收功能的语言的好处之一,就是程序员无需手动管理内存分配。这减少了段错误(segmentation fault)导致的闪退,也减少了内存泄漏导致的堆空间膨胀,让编写的代码更加安全。然而,Java 中依然有可能发生内存泄漏。所以你的安卓 APP 依然有可能浪费了大量的内存,甚至由于内存耗尽(OOM)导致闪退。 传统的内存泄漏是由忘记释放分配的内存导致的,而逻辑上的内存泄漏则是由于忘记在对象不再被使用的时候释放对其的引用导致的。如果一个对象仍然存在强引用,垃圾回收器就无法对其进行垃圾回收。在安卓平台,泄漏 Context 对象问题尤其严重。这是因为像 Activity 这样的 Context 对象会引用大量很占用内存的对象,例如 View 层级,以及其他的资源。如果 Context 对象发生了内存泄漏,那它引用的所有对象都被泄漏了。安卓设备大多内存有限,如果发生了大量这样的内存泄漏,那内存将很快耗尽。 如果一个对象的合理生命周期没有清晰的定义,那判断逻辑上的内存泄漏将是一个见仁见智的问题。幸运的是,activity 有清晰的生命周期定义,使得我们可以很明确地判断 activity 对象是否被内存泄漏。onDestroy() 函数将在 activity 被销毁时调用,无论是程序员主动销毁 activity,还是系统为了回收内存而将其销毁。如果 onDestroy ..read more
Visit website
NimbleDroid Product Update, May 2016
NimbleDroid Blog
by
3y ago
This month we’ve been primarily focused on improving the more hidden parts of NimbleDroid, as well as laying the groundwork for some exciting features coming next month. For now, here are a couple of visible product updates. Better Management of Uploads We have a number of users who have been doing automated Gradle uploads for months, or who might have uploaded “test” versions of an app when evaluating NimbleDroid. Since some users want to remove certain specific uploads from their results, we’ve added the ability to do so under the Uploads tab on the App page. You can also see the full list o ..read more
Visit website
NimbleDroid 2016年5月产品更新
NimbleDroid Blog
by
3y ago
这个月我们主要聚焦于改进 NimbleDroid 中用户无法直接感知的部分,同时也为下个月将要发布的令人振奋的特性做好准备工作。现在,有以下几点可以感知到的提升。 更好的上传管理功能 我们有很多用户都在使用 Gradle 插件自动上传 功能了,或者是在调研 NimbleDroid 时上传了一些测试版本的 APP。由于有的用户希望可以删除指定上传的分析结果,我们在 APP 页面的上传 tab 中增加了这一功能。你也可以查看和管理完整的上传分析结果列表。 方法计数更好的拆分处理 我们之前的方法计数页面提供了很方便的图表,可以查看哪些 SDK 占据了较多的方法数。不幸的是,我们展示这些信息的方式,以及处理位置 SDK 的方式,有些令人费解。根据用户对此的反馈,我们改进了方法计数页面的功能。 任何我们尚未记录的 SDK 不会被计入 Application SDK 一项中,而是计入 Other ..read more
Visit website

Follow NimbleDroid Blog on FeedSpot

Continue with Google
Continue with Apple
OR