LightBlog

lundi 29 août 2016

T-Mobile adjusts new unlimited plan due to customer backlash

T-Mobile-ONE-Legere

If you thought the T-Mobile ONE plan drama wouldn't end so easily, you were right. It seems like every few days we have another affair unfold, either from Sprint administering its own perversion of the term "unlimited" to the EFF protesting that Net Neutrality is being compromised. That's not good press for the UnCarrier, so today it's tweaking the new plan in an effort to win our hearts back, or at least simmer the uproar. Only, we're not sure if the company's "amping" of T-Mobile ONE alleviates the concerns more than it adds complication.

samsung galaxy note 7 aa autom3otices ryan vergara (7 of 23)See also: Best T-Mobile Android phones (August 2016)77

There will be two improvements: quadrupling the mobile hotspot data speeds and instating a new 24-hour high-definition Day Pass method for streaming HD video. One of the complaints of the original plan was that, while tethering was supported, it was only at painful 2G speeds. That'll now get a boost, but while "quadrupling" sounds significant, 4x 2G speeds only brings you to 3G (128kbps to 512kbps). Furthermore, T-Mobile didn't say anything about increasing the 5GB hotspot cap. The new plan still pales in comparison to the current unlimited Simple Choice plan, which gives you 14GB of 4G LTE tethering.

Things get further hokey with the HD Day Pass concept. In the original T-Mobile ONE plan, you wouldn't get HD video at all. Binge On video quality (max of 480p) would be enforced, unless you paid an extra $25/month to regain HD freedom. T-Mobile isn't backing on this, but it thinks that giving you the option to pay $3 each day you'd like HD playback on the go is a good compromise. The pass will be active for 24 hours from when you initiate it, and will be available sometime in October.

One last enhancement Magenta introduced is an amped version of the plan called T-Mobile ONE Plus – not unlike Sprint's move last week with its Unlimited Freedom Premium plan. This is more like what the original plan should have been. You'll get unlimited 4G LTE hotspot data and unlimited HD Day Passes. Strangely, instead of just getting unlocked HD streaming, you'll have to toggle it for each 24-hour period. The package also comes with 2x faster data speeds abroad, up to 3G speeds. T-Mobile ONE Plus will be $25/month extra per line.

tmobile-one-overview

T-Mobile is also bringing the launch date of T-Mobile ONE forward to Sept. 1st (originally planned for Sept. 6th). Hit up the source link for the official word. Do you think T-Mobile has made the right mends into its poor attempt at a mainstream "unlimited" plan, or is it now more of a convoluted mess? Sound off in the comments below!

Next: T-Mobile confirms which Samsung and HTC phones are getting the Nougat update



from Android Authority http://ift.tt/2bRhI5r
via IFTTT

Verizon launches 50% faster LTE coverage in over 460 cities

verizon-lte-advanced

Well, T-Mobile's stint on the speed throne didn't last particularly long. Although the Uncarrier was praised for having the fastest LTE coverage in the nation earlier this month, Verizon has elected not to take this slight lying down. Big Red has announced today that their LTE Advanced Network is now live in 461 cities, dramatically improving LTE coverage to the tune of a 50 percent increase in speed.

This is a massive update that angles to span the gap between 4G coverage and impending 5G coverage. Right now, it's kind of hard to tell how much of an improvement this is making for individual end-users, and Verizon has yet to clarify whether their devices will require an update before this speed boost goes into effect.

To see if your city is included in the rollout, click here. To see if your device is supported, click here.

verizon logoSee also: Best Verizon Android phones (August 2016)42

Verizon is calling this network LTE-Advanced (LTE-A). With it, the nation's largest carrier is saying that you could get download speeds in the ballpark of 300Mbps. But how did they actually create this network?

Verizon says that LTE-A uses software to combine "two or three bandwidth channels into one larger channel." Allegedly, this grants your phone much faster connectivity.

The company is making a pretty big deal about this network boost's release, and we'd like to see if its effect is really being felt by end users. If you're in a qualifying city and you're using an eligible device, we invite you to post speedtest results in the comments. Are you feeling the power of LTE-A? Sound off below!

VerizonRedLogoBackgroundSee also: Verizon's new FlexFlow system will reduce transaction times in stores8


from Android Authority http://ift.tt/2bvYov7
via IFTTT

Fitbit Charge 2 and Flex 2 announced: all-new designs, software features and more

Fitbit Charge 2 AA

Fitbit has been focusing on form over functionality lately, with the recent launch of the Blaze and Alta earlier this year. Now Fitbit is back with two new activity trackers that aim to bring more features and style to the company's growing lineup. The Charge 2, which is the successor to the extremely popular Charge HR, is Fitbit's new flagship activity tracker that sports some new software features and interchangeable bands. The Flex 2, which is the successor to 2013's Flex, brings a swim-proof design and a focus on fashion.

Let's start with the Fitbit Charge 2. Basically, if you loved the Charge HR but need something a little more beefy, the Charge 2 will do the trick. It still comes with all the great fitness features you've grown to love – automatic activity tracking, sleep tracking, move reminders, and more – but now there's a much larger 1.5-inch touchscreen display that will be able to show you more information at a glance. The screen will display your move reminders, steps taken, distance traveled, active time, heart rate, and of course, the time. It'll also show you call, text and calendar alerts.

There is no GPS on board, though you can connect your Charge 2 to your smartphone to take advantage of Fitbit's Connected GPS feature.

Best fitness trackers 2016 AA 2See also: The best fitness trackers14

The Charge 2 sports an optical heart rate monitor, that will provide your estimated VO2 max and Relax sessions. If you're wondering, VO2 max is the maximum rate at which your body can intake oxygen during an exercise. Relax sessions, on the other hand, will guide you through two-minute breathing exercises to help control your stress levels.

Fitbit Flex 2 AA

Moving on to the Flex 2, you'll notice this is a much more attractive version of the original Flex. It's 30% thinner than its predecessor, and sports an all-new design that's more versatile. The standard model comes with a silicone band, though you can remove the Flex 2 from its strap and place it in more fashionable casings like a metal band or a pendant necklace. Like the OG Flex, the Flex 2 doesn't have a display, so you'll need to get all your information from the Fitbit companion app.

Fitbit has finally created a swim-proof fitness tracker

The biggest news here is that Fitbit has finally created a swim-proof fitness tracker. Yes, that's right, after years of Fitbit fans begging the company to produce a swim-proof tracker, the day has finally come. The Flex 2 is swim-proof up to 150 feet, and can track your swimming exercises automatically.

You can now pre-order the Fitbit Charge 2 and Flex 2 starting at $149.95 and $99.95, respectfully. There are numerous color options to choose from, and there will even be a fancy Special Edition Charge 2 available at some point. If you're interested, follow the links below to check out the new fitness trackers for yourself.

Pre-order the Fitbit Charge 2
Pre-order the Fitbit Flex 2


from Android Authority http://ift.tt/2c4cJ0d
via IFTTT

Building better apps: make your app more memory efficient

Make Your App More Memory Efficient

Regardless of whether you're developing a free mobile app or a feature-packed piece of software that people will lay out some serious cash for, you should always pay careful attention to just how much memory your finished project is using.

This becomes even more important when you're developing for Android, as the memory available to your typical Android smartphone or tablet is significantly smaller than the memory available to other devices, such as desktops or laptops (disclaimer: understatement of the year!)

In this article I'll show you how to ensure that your latest Android app project uses as little memory as possible. We'll look at how to scour your project for some of the most common memory-related problems, and how to gather more information about any problems you do discover, so you'll be in a better position to fix them.

And just in case it turns out that your app isn't suffering from any specific memory problems, I'll also share some general tips for optimizing your app's memory usage.

Spotting Memory Leaks

Although Android's Java virtual machine performs routine garbage collection (GC), if your app is going to provide the best possible user experience then you can't afford to be complacent.

The garbage collector can only remove objects that it recognizes as unreachable, so if your app holds onto object references unnecessarily, then these objects are never going to get garbage collected, which can result in a memory leak. Since Android devices tend to be low on memory to begin with, a memory leak can quickly escalate into an OutOfMemoryError – something you'll definitely want to avoid.

To make matters worse, as your app continues to leak objects the system will try to compensate by triggering more frequent GC events. While the user won't notice your run-of-the-mill GC event, lots of GC events occurring in a short space of time will eventually impact on your app's performance.

Basically, memory leaks are bad news all around, so it's always a good idea to scour your project for memory leaks – and one tool that can help you do exactly that, is Memory Monitor.

Like the other Android SDK tools I'll be covering in this article, Memory Monitor can only communicate with a running application, so you'll need to install the app you want to test on either an Android Virtual Device (AVD) or a physical Android device, and then ensure this application is visible onscreen the entire time you're testing it.

The signs of a memory leak can be subtle, so when you're testing your app be sure to put it under as much pressure as possible. Some tricks for provoking memory leaks (and other memory-related problems) include quickly rotating your app between portrait and landscape mode multiple times, and switching between the app you want to test and another app – do this multiple times in quick succession to make sure your app really feels the pressure.

You can access Memory Monitor from the main Android Studio interface. Select the 'Android Monitor' tab towards the bottom of the screen (where the cursor is positioned in the screenshot below) and then select the 'Monitors' tab.

Android Studio Memory Monitor

Once Memory Monitor has detected your running application, it'll start printing your app's memory usage as a graph. The unallocated memory is shown in light blue, while the memory your app is currently using is displayed in dark blue.

If Memory Monitor doesn't start printing data, then double-check that the app you're trying to test is running and is currently visible onscreen. Another trick is to select 'Tools' from Android Studio's menu bar, then click 'Android' and check that 'Enable adb integration' is selected – even if it is, try toggling it off and on a few times, as this can sometimes kickstart the recording process.

Once Memory Monitor is cooperating, spend some time interacting with your app and checking how different actions impact your app's memory usage. In particular be on the lookout for any sudden drops in allocated memory, as this is an indication that a GC event has occurred.

Monitor your app's GC patterns over time to see whether you can spot anything unusual, in particular be on the lookout for an unusual number of GC events occurring in a short period of time, or an increasing number of GC events.

You should also look for any spikes in memory allocation when there's nothing happening that might explain why your app suddenly requires extra memory, as again this can indicate a memory leak.

If you do spot any unusual GC activity, then you'll want to gather more information about exactly what's triggering these GC events – which brings us to the Android Device Monitor's 'Heap' tab.

Analyzing the Heap

Android devices have a finite amount of heap space that can only accommodate a certain number of objects. When the system is running low on memory, it'll trigger a GC event, so if you spot unusual GC activity then the next step should typically be to take a closer look at the kind of objects your app is allocating on the heap.

You access the 'Heap' tab via the Android Device Monitor. To launch the Android Device Monitor, select 'Tools' from Android Studio's menu bar, followed by 'Android' and 'Android Device Monitor.'

Launching Android Device Monitor

Once the Android Device Monitor has launched, make sure its 'DDMS' button is selected. Then, in the 'Devices' panel, select the device and the process you want to examine.

Android Device Monitor's Devices menu

Open the 'Heap' tab, and click the 'Update Heap' icon.

Heap tab and Update Heap icon

Data about your app's heap usage will only appear in the 'Heap' tab after a GC event has occurred, so you'll either have to be patient, spend some time interacting with your app, and wait for a GC event to occur naturally – or you can force one by clicking the 'Cause GC' button.

Once a GC event has occurred, this tab displays detailed information about what type of objects your app is allocating, the number of allocated objects, and how much space these objects are taking up on the heap.

The Heap tab output

The quickest way to identify the action (or actions) that are responsible for any memory leaks you may have spotted in Memory Monitor, is to perform various actions in your app; and trigger a GC before and after you perform each action. You can then analyse each 'Heap' tab output for any unusual allocations. As soon as you do spot something strange, you'll have a better idea of which part of your project is responsible for the memory leak.

If you've spent some time analyzing the 'Heap' output, and are still unsure what's causing your app's memory problems, then you may want to try creating a snapshot of all the objects in your app's heap (aka a HPROF file), which will provide you with more detailed information.

To perform a heap dump, click the 'Dump HPROF' icon (which appears next to the 'Update Heap' icon).

Generating a HPROF dump

This opens a 'Save HPROF File' dialogue where you can name your HPROF file and decide where it should be stored. Once you've saved this file, you can open it as a new Android Studio project – the quickest way to do this, is to select 'File' from the Android Studio menu bar, followed by 'Open.' Then, in the window that appears, navigate to where you stored your HPROF, select it, and then click 'OK.' Android Studio will open this file in a new 'HPROF Viewer' tab.

Populated HPROF Viewer tab

The most effective way of using the HPROF Viewer to identify which objects might be involved in memory leaks, is to select each class name, then select the instance of that class and examine the reference tree that appears in the bottom portion of this window.

Checking for Churn

Another common memory problem you should check for, is memory churn. Memory churn occurs when your application allocates lots of temporary objects in a short period of time. One tool that can help you check for churn is Android Device Monitor's Allocation Tracker.

To access the Allocation Tracker, open the Android Device Monitor's 'Allocation Tracker' tab, and double-check that the process you want to examine is selected in the 'Devices' tab. Again, the best way to identify what parts of your project are responsible for memory problems, is by performing a range of actions, and then checking the Allocation Tracker output before and after you perform each action.

If you notice any unusual allocations following a particular action, then you can use the Allocation Tracker to drill down into the classes and threads that are responsible for these allocations, to give you a clear indication of the parts of your project that you need to optimize.

To start tracking your project, give the 'Start Allocation Tracking' button a click.

Start tracking allocations

Perform the action you want to test, and then click the 'Get Allocations' button to see a list of all the objects that have been allocated during this sampling period.

Sample of Allocation Tracker dataIf you spot any suspicious-looking allocations, select that allocation to view the following information:

  • Allocation order.
  • Allocation size.
  • Allocated class.
  • Thread ID. The thread that made the allocation.
  • Allocated In. The function in your code that's responsible for this allocation.

Memory Best Practices

Now you know how to analyse your app's memory usage and track down any potential problems you do discover, I'm going to show you how to avoid running into these problems in the first place.

In this section I'm going to share some best practices for creating an app that makes the most out of the limited space that's available to your typical Android device.

Always stop your services

Services are useful when your app needs to perform long-running operations in the background, however services are also incredibly stubborn. Even if the user switches to another application, or the component that started the service is destroyed, that service will continue to run in the background, and the system will only step in and force-stop a service when the device is running seriously low on memory. Basically, if you create a service then it's crucial you stop that service as soon as its work is done.

A service can stop itself by calling stopSelf, or other components can stop a service by calling stopService, if necessary. Alternatively, you can use an IntentService, as this will automatically bring the service to a halt once its work is done.

Use ProGuard to strip out any unneeded code

ProGuard is a tool that helps to ensure your finished APK requires less memory, by detecting and removing unused classes, fields, methods and attributes.

If you do plan on using ProGuard, then make sure you test your app with ProGuard enabled before releasing it to your end-users, as it's possible that ProGuard may introduce bugs, for example ProGuard may inadvertently end up removing code that your app actually needs.

To enable ProGuard, add the minifyEnabled attribute to your project's module-level build.gradle file. You should also take this opportunity to enable resource shrinking, using the shrinkResources attribute. The following code snippet shows you how to do both:

  buildTypes {      release {          shrinkResources true          minifyEnabled true          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'      }  }  

Consider using multiple processes

All of your application's components will run in the same process by default. However if your app performs significant work in the background as well as the foreground, then you may want to divide your app into multiple processes, as this will allow your app to manage each operation separately, which can result in a more memory-efficient app.

To let the system know that a particular component should run in its own process, open your project's Manifest, then add the android:process attribute to the component in question, and assign this process a name. In this example, I'm creating a new process called 'background.'

  <service android:name=".BackgroundService"        android:process=":background" />  

Just be careful when creating new processes, as each process will use memory. Even an empty process has an extra memory footprint of around 1.4MB, so creating processes that you don't need, or implementing processes incorrectly, can actually increase the memory your app uses – probably not the effect you were aiming for!

Improving layout performance

Put some thought into your application's layouts, as poorly implemented layouts can lead to a memory-hungry application (as well as a tonne of other problems). Some tools that can help you analyse your layouts include Hierarchy Viewer, which is accessed via the Android Device Monitor, and the Debug GPU Overdraw option that comes pre-installed on your Android smartphone or tablet.

And if a layout requires complex views that it only uses occasionally, then one way to significantly reduce your app's memory usage is to load views only when they're needed, using a ViewStub.

Request a larger heap size – but only if strictly necessary!

As a last resort your app can request a larger heap size – note the last resort part of this sentence! Requesting this extra memory will have a negative impact on the Android system's performance, so don't use this as a quick fix just because your app has run out of memory!

Unless you're developing an app that can justify requiring extra memory, then you should focus your efforts on analyzing and optimizing the way your app uses the memory that's already available to it, rather than simply requesting an extra chunk of RAM.

If your app genuinely does require additional memory, then you can request a large heap size by opening your project's Manifest, finding the <application> tag and setting its largeHeap attribute to "true."

Just be aware that requesting a large heap size doesn't automatically guarantee your app more memory, as a device's large heap size is relative to the total memory available. If your app is running on a device that's struggling for RAM to begin with, then it's possible that the large heap size will be the same as the regular heap size. So even if your app requests access to the large heap, you should still put just as much effort into optimizing your app's memory usage, so you can be sure that your app is making the best possible use of whatever memory is available to it.

Wrap Up

To build better apps and catch memory leaks then use these tools and techniques to analyze and optimize your app's memory usage. Do you have any additional tips, for reducing the amount of memory your app requires?



from Android Authority http://ift.tt/2bMgUBA
via IFTTT

Samsung Galaxy A5 (2017) spotted, A-series refresh incoming

samsung-galaxy-a5-5of13

It's been about 9 months since Samsung's last Galaxy A series announcement, and now we know that the company has some 2017 successors in the works, as we would expect. A Galaxy A5 (2017) handset has been spotted over at Geekbench and the same model number has been spotted over on an Indian import list.

The model numbers for the 2017 edition are the SM-A320F, SM-A520F and SM-A720F for the Galaxy A3, A5 and A7 respectively.  It's the A520F (Galaxy A5) model that was spotted making its way into India for testing, and we'll probably see the other handsets follow soon enough.

galaxy-a5-2017-import

galaxy-a5-2017-benchmark

The import data doesn't give anything away about the handset's hardware, but we have a benchmark result for that. It appears that the Galaxy A5 will come with 5.2-inch display, 3GB of RAM, a Samsung Exynos 7880 processor, and Android 6.0.1 Marshmallow. The Exynos 7880 is an octa-core processor with four 1.87GHz Cortex-A72 cores and four Cortex-A53 cores at 1.3GHz, paired up with an Mali-T860MP4 GPU. If true, this would present a notable boost to single thread and graphics performance over the 2016 model.

There's still a few months left to wait until Samsung's typical December launch window for its Galaxy A series, so we'll treat these early reports with the due scepticism. Still, it's looking like Samsung's 2017 mid-range handsets might be a little more competitive.



from Android Authority http://ift.tt/2buvyOw
via IFTTT

BLU Pure XR announced, near-flagship specs for $299

pure-xr-announced

While BLU clearly doesn't have the same level of brand power as giants like Samsung or even the rising Chinese stars like Huawei and ZTE, it does have a sizable following among those looking for affordable phones with reasonable performance. The vast majority of BLU's offerings are on the lower end of the scale, though last year's Pure XL helped change this perception a bit. Now in 2016 BLU are back again with another "flagship" class device, the Pure XR.

Although it is priced at just $299, the Pure XR brings a lot to the table. Aesthetically, the handset is quite similar to the other metal-clad devices that seem to be flooding the market these days. While it isn't necessarily a head turner at this stage, it's still a pleasing enough design that fits the "premium materials" culture all the brands seem to be targeting in 2016.

Turning to the specs, the handset features a 1080p Super AMOLED 5.5-inch display with Gorilla Glass 3 and 3D Touch, an octa-core MediaTek Helio P10 (6755) CPU, 4GB RAM, and 64GB storage with microSD for expansion. Other specs include a 16MP main cam, 8MP selfie cam, and a 3000 mAh battery. The XR also supports quick charging, has a USB Type-C port, and a fingerprint sensor.

Moto G4 Plus -9See also: Best cheap Android phones (August 2016)422

At the end of the day, the Pure XR isn't perfect, as not everyone cares for MediaTek processors and 1080p is far from a bleeding-edge resolution at this point. BLU also tends to have a mixed record for software updates, though things have gotten a tad better in recent years. Still, it's hard to beat the price and for those that don't care about brand identity and simply want a solid performing phone without throwing down a lot of money, this one should fit the bill.

For those interested in picking one up, it's available now via Amazon in your choice of either gray or gold. For those that are on the fence, we'll be taking a closer look at the Pure XR in an upcoming full review sometime in the near future. In the meantime, hit the comments and tell us what you think of the device based on what we know so far.

Buy now on Amazon


from Android Authority http://ift.tt/2c8WT7y
via IFTTT

Xiaomi Mi Note 2 leaked pictures and specs galore

Xiaomi Mi Note 2 render

After barely a whisper earlier in the month, a flood of renders, pictures, and leaked hardware details have appeared for the upcoming Xiaomi Mi Note 2 over the weekend. As we've come to expect from Xiaomi, the handset looks to be packing top of the line specifications and a number of firsts for the company.

Delving into the hardware, details of which come courtesy of a settings screenshot, there's a Qualcomm Snapdragon 820 processor on board, 64GB of internal storage, and 6GB of RAM, which would be a first for the Chinese OEM. The handset had been rumored to feature a Snapdragon 821, but the 2.15GHz clock speed on this chip suggests otherwise.

Xiaomi-Mi-Note-2-specs

The screenshot also lists that the Mi Note 2 will be running Android 7.0 Nougat out of the box and Xiaomi's MIUI 8.6.8.26 software. Previous hardware rumors also point to a 5.7 or 5.5-inch QHD AMOLED display, a fingerprint scanner likely enclosed inside the home button, and a 3,600mAh battery with Quick Charge 3.0 support. There's also talk of 32GB and 128GB memory capacity options too, with the 32GB model potentially featuring just 4GB of RAM to help keep the price down.

Speaking of the display, a number of recently leaked images show that the phone may ship with a dual curve edge display, just like the Samsung Galaxy S7 edge and new Note 7. Samsung has been selling it's curved display panels to Chinese OEMs lately, although the popularity of the Galaxy Note 7 may slow the supply. The various pictures also show off a dual camera configuration on the back, a USB Type-C port, and a 3.5mm jack on the top of the handset.

Perhaps best of all, the Xiaomi Mi Note 2 will apparently start from just 2499 Yuan (approximately $375), and is said to be launching on September 5th. Of course, we should wait for the official details before forming too many opinions, but do you like what we've seen of Xiaomi's next flagship?



from Android Authority http://ift.tt/2c3vPDC
via IFTTT