Android工具类——处理网络、内存、屏幕等操作

【Android】性能优化之内存、网络、布局、卡顿、安装包、启动速度优化 欢迎来到 Android 开发老生常谈的性能优化篇,本文将性能优化划分为内存、网络、电量、布局、卡顿、安装包、启动速度七块,从这七块优化出发,阐述优化的 Application 的方式。 阅读详情
public class CommonUtil {


public static boolean hasSDCard() {


String status = Environment.getExternalStorageState();
return status.equals(Environment.MEDIA_MOUNTED);
}


/**
* 获取最大内存
* 
* @return
*/
public static long getMaxMemory() {


return Runtime.getRuntime().maxMemory() / 1024;
}


/**
* 检查网络
* 
* @param context
* @return
*/
public static boolean checkNetState(Context context) {


boolean netstate = false;
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {


NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {


if (info[i].getState() == NetworkInfo.State.CONNECTED) {


netstate = true;
break;
}
}
}
}
return netstate;
}


public static void showToast(Context context, String tip) {


Toast.makeText(context, tip, Toast.LENGTH_SHORT).show();
}


public static DisplayMetrics metric = new DisplayMetrics();


/**
* 得到屏幕高度
* 
* @param context
* @return
*/
public static int getScreenHeight(Activity context) {


context.getWindowManager().getDefaultDisplay().getMetrics(metric);
return metric.heightPixels;
}


/**
* 得到屏幕宽度
* 
* @param context
* @return
*/
public static int getScreenWidth(Activity context) {


context.getWindowManager().getDefaultDisplay().getMetrics(metric);
return metric.widthPixels;
}


/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/


public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}


/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {


final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}


/**
* 查询手机内非系统应用
* 
* @param context
* @return
*/
public static List<PackageInfo> getAllApps(Context context) {


List<PackageInfo> apps = new ArrayList<PackageInfo>();
PackageManager pManager = context.getPackageManager();
// 获取手机内所有应用
List<PackageInfo> paklist = pManager.getInstalledPackages(0);
for (int i = 0; i < paklist.size(); i++) {
PackageInfo pak = (PackageInfo) paklist.get(i);
// 判断是否为非系统预装的应用程序
if ((pak.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
// customs applications
apps.add(pak);
}
}
return apps;
}


public static Bitmap zoomBitmap(Bitmap bitmap, int width, int height) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
Matrix matrix = new Matrix();
float scaleWidth = ((float) width / w);
float scaleHeight = ((float) height / h);
matrix.postScale(scaleWidth, scaleHeight);
Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, w, h, matrix, true);
return newbmp;
}


/**
* 获取版本号和版本次数
* 
* @param context
* @return
*/
public static String getVersionCode(Context context, int type) {


try {


PackageInfo pi = context.getPackageManager().getPackageInfo(
context.getPackageName(), 0);
if (type == 1) {


return String.valueOf(pi.versionCode);
} else {


return pi.versionName;
}
} catch (NameNotFoundException e) {


e.printStackTrace();
return null;
}
}


// 通过Service的类名来判断是否启动某个服务
public static boolean messageServiceIsStart(
List<ActivityManager.RunningServiceInfo> mServiceList,
String className) {


for (int i = 0; i < mServiceList.size(); i++) {
if (className.equals(mServiceList.get(i).service.getClassName())) {


return true;
}
}
return false;
}
} 


转自【http://www.open-open.com/lib/view/open1394788968947.html】

Android开发人员不得不收集的代码(持续更新中) 阅读详情

相关推荐

Android Bitmap图像处理工具类详解

Android中Bitmap是用于处理图像的位图类,它是Android图形框架的核心组成部分。Bitmap代表了一个图片的像素矩阵,通过它可以对图片进行修改、缩放、旋转等操作。这种图像的处理能力对于创建高质量的用户界面尤为重要。在Android开发中,Bitmap类是处理图像的核心类,它可以描述图像文件中的像素数据。在视觉展现层面上,Bitmap代表了图片的内存表示,能够被绘制到屏幕上,也可以通过各种方法进行转换和处理。Bitmap类的基本特性包括图像的宽高、像素格式、位图的内存大小等。

weixin_36289813的博客 532

Android常用工具类

public class CommonUtil { public static boolean hasSDCard() { String status = Environment.getExternalStorageState(); return status.equals(Environment.MEDIA_MOUNTED); } /** * 获取最大内存

cenfei78325747的专栏 913

android-lite-common:安卓通用库。 这是非常普通和简单的,所有内容都只有99 kb! 包括

android-lite-common 安卓通用库。 这是非常普通和简单的,所有内容都只有99 kb! 包括:Log、Base64、FlashLight、SilentInstaller、Network、Toastor、WakeLock、Check、Averager、TimeCounter、AndroidUtil、AppUtil、BitmapUtil、ClassUtil、DialogUtil、FieldUtil、FileUtil、HexUtil、MD5Util、NotificationUtil、NumberUtil、PackageUtil、RandomUtil、ShellUtil、 TelephoneUtil、VibrateUtil、PhoneReceiver、SmsReceiver、NotificationService 等。

android 获取相册图片和使用相机照照片 并使用Android自带图片剪裁界面剪裁

1.获取本地图片 Intent intentFromGallery = null; //因4.4版本不同 所以两种URI //4.4以上 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

duov的博客 685

MSPM0G3507电赛控制板设计:电机驱动与多传感器融合

微控制器是嵌入式控制系统的核心处理单元,其性能与外设集成度直接决定实时控制能力。基于Arm Cortex-M0+内核的MCU凭借低功耗、高性价比和丰富模拟资源,成为大学生电子设计竞赛等工程实践场景的主流选择。本文围绕MSPM0G3507展开,深入解析双路电机驱动(TB6612FNG)、多源传感采集(MPU6050+ADC电压监测)及抗干扰硬件架构等关键技术,强调电源隔离、信号完整性与鲁棒性设计对72小时封闭竞赛环境的关键支撑作用。典型应用涵盖巡线小车运动控制、姿态解算与蓝牙/Zigbee协同通信,为控制类赛

weixin_42588672的博客 539

【UE5.3 Cesium for Unreal】GlobePawn编译实战:从源码修改到功能实现

本文详细介绍了在UE5.3中为Cesium for Unreal插件编译和集成非官方增强组件GlobePawn的完整实战流程。从获取源码、准备资产文件、部署项目结构,到逐行修改代码适配工程并解决典型编译错误,最终实现在三维地球上实现类似Google Earth的丝滑鼠标交互体验。

weixin_29011667的博客 307

android之 h5调用系统相机和相册并显示

先上html界面的代码,放在assets里面就可以了,我也不太会html,所以随便写了点<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <m

villa_mou的博客 9533

Fiddler Everywhere保姆级教程:10分钟搞定手机HTTPS抓包(附证书配置避坑指南)

本文提供Fiddler Everywhere移动端HTTPS抓包的保姆级教程,涵盖环境配置、代理设置、证书安装及常见问题排查。重点解析如何正确安装并信任Fiddler根证书以解密HTTPS流量,帮助开发者快速搭建抓包环境,高效分析应用网络行为,提升调试效率。

git9versioner的博客 704

异步下载图片

public class ThumbnailLoader {     MemoryCache memoryCache = new MemoryCache();     FileCache fileCache;     private Map imageViews = Collections.synchronizedMap(new WeakHashMap());     Executor

panchongsh的专栏 313

[附源码]计算机毕业设计JAVA网上花店系统

附源码]计算机毕业设计JAVA网上花店系统项目运行环境配置:(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat。

ssm毕设程序设计 2443

网络安全 | 企业网络安全的十大挑战及解决方案

网络安全 | 企业网络安全的十大挑战及解决方案,随着信息技术的飞速发展,企业数字化转型进程不断加速,网络安全问题日益成为企业运营与发展面临的关键挑战。本文深入剖析企业网络安全的十大挑战,包括网络攻击日益复杂、数据泄露风险、内部威胁、物联网安全、云安全、合规性要求、移动办公安全、供应链安全、人才短缺以及安全预算有限等,并针对每个挑战详细阐述相应的解决方案,旨在为企业构建全面、有效的网络安全体系提供指导与参考,助力企业在复杂多变的网络环境中保障自身信息资产安全,实现可持续发展。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 4万+

android 开发常用的工具类

转自大牛博客 https://blankj.com/ 他的工具类github https://github.com/Blankj https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-CN.md 目录: Activity 相关 -> ActivityUtils.java getActivityByVi...

skyang在路上 1442

手眼标定----眼在手上(eye-in-hand)

@TOC 标定之前你可以先拿个怡宝盖子进行测试。 第一步:打开halcon,采集,然后生成代码,显示十字架 第二步:把怡宝盖子放在十字架中心位置,在图像处理,找到怡宝盖子 第三步:找到怡宝盖子然后进行九点标定(眼在外帖子有讲),移动机器手然后分别拍9次照片,记录怡宝盖子坐标和当前机器坐标。这里移动到中心位置的时候记录一下单独记录一下坐标,等下要用。 顺序 第四步:拍完后利用vector_to_hom_mat2d算子求出矩阵,然后在利用write_tuple (HomMat2D, ‘路径’)进行保存。这里

苏州程序大白的博客 4280

Android 超级工具类

AndroidUtilCode 一个强大的工具类 Gradle: implementation ‘com.blankj:utilcode:1.25.9’ // if u use AndroidX, use the following implementation ‘com.blankj:utilcodex:1.25.9’ APIs Activity 相关 -> ActivityUtils.j...

欢迎加入Android老司机学院 482266514(技术交流群)密码优快云 1041

大疆视觉算法面试,手推极线几何这关刷掉了一半人

摘要:大疆机器视觉算法工程师面试重点考察目标检测工程优化、深度估计几何原理和视觉SLAM全流程。目标检测侧重模型压缩和部署优化,需掌握知识蒸馏、量化及算子融合;深度估计要求推导双目几何并理解单目深度恢复方法;视觉SLAM需熟悉前后端流程及ORB-SLAM3/VINS-Mono区别。面试常要求手推PnP等公式,注重实践能力。准备需重点练习公式推导和代码实现,掌握工程落地细节。

郑伟强dev的专栏 191

ParaView :在paraview创建渲染视图

ParaView :在paraview创建渲染视图

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1302

Android常用工具类...

Android内存、像素、版本、网络、文件等工具类使用

学习是修养的提升 3348

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

安卓常用工具类

APP工具类import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.app.ActivityManager.RunningAppProcessInfo; import android.app.ActivityManager.RunningServiceIn

qq517807659的博客 1932

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android屏幕共享-传输图片

Android屏幕共享-传输图片 该篇主要讲解安卓与安卓之间如何截图传输,属于安卓屏幕共享的入门篇。适用场景:安卓屏幕共享工具类应用。 效果图 效果图 demo界面 前言 目前安卓屏幕共享的方式有很多种软件已经实现,究其根源,无非就是采集-传输-播放的过程,而安卓端无论是截图传输还是硬解码,也一定离不开核心类MediaProjection,它就是Google开放了视频录制的接口(屏幕采集的接口)。 比较优秀的软件举例: TeamViewer 向日葵 Vysor 其中Vysor就是通过adb实现无

Android唐浮的专栏 3748

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

小屏幕android手机,小尺寸、小屏幕的安卓手机有哪些

iPhoneSE发布以后,小尺寸手机的话题再次被提及。反观安卓这边,大屏幕已经成为主流,想要买个体积特别小巧的手机并不容易。下边挑几款还算小的来聊一聊。红米2A,尺寸134x67.2x9.4mm,4.7英寸屏幕,720×1280分辨率,处理器为联芯L1860C,2GB内存,16GB存储,前置200万后置800万像素摄像头,2200毫安时电池,网络方面支持移动4G,售价500左右。该机是在售小米手机...

weixin_34184444的博客 3685

Android Screen Monitor:专业级安卓设备屏幕实时监控解决方案

Android Screen Monitor(ASM)是一款基于Java开发的跨平台工具,专为开发者提供实时安卓设备屏幕监控能力。通过深度集成Android Debug Bridge(adb)协议,ASM能够稳定连接到设备端口5037,持续捕获帧缓冲区数据并将实时画面传输到桌面窗口,为移动应用调试和演示提供强大支持。 ## 🚀 核心技术架构解析 ASM采用模块化设计架构,核心组件包括: *

gitblog_00643的博客 1098

Android快速开发系列 10个常用工具类

http://blog.csdn.net/lmj623565791/article/details/38965311 打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~ 在此感谢群里给我发项目中工具类的兄弟/姐妹~ 1、日志工具类L.java [java] view plain copy

张小贝的博客 301

Android 工具类

【代码】Android 工具类。

魑魅魍魉9527 2221

android 2g内存,追求极致流畅体验 2G内存安卓手机推荐

【PConline 海选导购】无论是从机型数量还是市场占有率的角度来看,安卓手机无疑是现阶段智能手机的NO.1。需要注意的是,同样是搭载Android系统的手机,在使用体验上也有所差别。之所以出现这种情况,跟手机的具体软硬件配置以及厂商的优化等诸多方面有着密切的关系。2G内存安卓手机推荐除了最为关键的处理器之外,运行内存的大小也很重要。运行内存越大,意味着手机在多任务运行状态下会更游刃有余,对于系...

weixin_39980841的博客 1106

【大前端】常用 Android 工具类整理

(日志、Toast、SP、屏幕单位、网络、时间、文件),这些是日常开发里用得最多的。Bitmap 与 Drawable 转换、缩放、压缩、圆角/圆形处理。获取设备 ID、系统版本、厂商型号、IMEI/AndroidID。获取 App 版本号、包名、签名校验、跳转应用市场。判空、反转、截取、大小写转换、MD5/SHA 加密。快速调用系统功能:打电话、发短信、打开相机、浏览器。获取内置存储、外部存储路径,App 缓存路径。手机号、邮箱、身份证、URL、IP 等验证。,支持统一 TAG、开关控制、日志文件存储。

子冉冰清的博客 1175

Android获取图片内存大小,Android 加载图片占用内存分析

本文首发于 vivo互联网技术 微信公众号链接:作者:Xu Jie不同Android版本,对一张图片的内存处理方式是不一样的,使用不正确会导致OOM的发生,这篇文章带你梳理内存占用情况,选择适合你的图片加载模式,解决OOM问题。一、背景你知道吗一张5.48MB,宽高像素为4896*6528的24位的静态图片,放在Android工程目录下面的res/drawable-[density]/ 不同文件夹...

weixin_39944515的博客 819
上一篇: Java工具类——实现静态图片剪切缩放功能
下一篇: Java基于Socket文件传输示例
系统信息
系统信息 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄23年 2404粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值