Floating Info is an Android application that displays the following in a system overlay window:
- The application name, package name and process id of the application which is currently in the device's foreground
- The Global CPU utilisation with a per-core breakdown - This is not foreground application specific.
- Memory usage breakdown for the currently foregrounded process (read the notes for the caveats).
- Network information like connection type, proxy status and IP addresses. Both IPv4 and IPv6
- Device Locale Information
Since Nougat it is not possible to get the process id of an app different than the one making the request. As a result it no longer possible to get the memory utilisation of other applications.
SE Linux can interfere with getting CPU information as files in the /proc/ folder may not be globally readable.
Click to see in full size:
- 1.0: First public release
- 2.0: Conversion to Android Studio, Lollipop support, network info, onboarding
- 2.1: Added Locale info, Oreo support
Notes and Caveats
- The application will show the memory allocation of the currently foregrounded process which it gets by getting the Process Id of the currently foregrounded activity. This means that if an application has spawned multiple processes, this application will only show the memory utilisation of the main process.
- The Memory information displayed come via a Debug.MemoryInfo object, while using reflection to expose a number of hidden fields.
- Data updates happen approximately every 1 second.
Android Memory Usage
Memory management on Android is pretty complex and the easiest way to get started with understanding it is reading this article - especially the "Viewing Overall Memory Allocations" section.
Author: Alexandros Schillings
The icon was adapted from this one.
Copyright (C) 2017 Alexandros Schillings Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.