- 博客(17)
- 收藏
- 关注
原创 Android性能优化
Threading Performance在程序开发的实践当中,为了让程序表现得更加流畅,我们肯定会需要使用到多线程来提升程序的并发执行性能。但是编写多线程并发的代码一直以来都是一个相对棘手的问题,所以想要获得更佳的程序性能,我们非常有必要掌握多线程并发编程的基础技能。众所周知,Android 程序的大多数代码操作都必须执行在主线程,例如系统事件(例如设备屏幕发生旋转),输入事件(例如用户点击...
2019-05-17 15:07:48 194
原创 AsyncTask的原理
AsyncTask的原理使用方法创建 AsyncTask 子类 & 根据需求实现核心方法创建 AsyncTask子类的实例对象(即 任务实例)手动调用execute(()从而执行异步线程任务/** * 步骤1:创建AsyncTask子类 * 注: * a. 继承AsyncTask类 * b. 为3个泛型参数指定类型;若不使用,可用java.lang....
2019-05-17 10:59:19 149
原创 Android多线程:ThreadPoolExecutor
Android多线程:ThreadPoolExecutor构造方法 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ...
2019-05-15 11:31:55 475
原创 Android改变边缘效果EdgeEffect的颜色
Android改变边缘效果EdgeEffect的颜色我们平时经常可以看到,Android可滚动的控件像ScrollView、RecyclerView等滑动到顶部或者底部时会出现一个波浪形的边缘效果,在不同的版本系统上显示的颜色有所不同,如果项目中遇到要修改它的颜色的需求,那么要如何去做呢?以ScrollView为例,控制ScrollView上下滑动边界的阴影的效果 private EdgeE...
2019-04-15 17:35:25 1350
原创 BottomSheetDialog 、DialogFragment 、BottomSheetDialogFragment二次封装及使用方法
这三种dialog,在Android 开发中经常会使用到,基本用法网络上也有很多,下面主要阐述一下我在项目中遇到的坑以及对应的解决办法BottomSheetDialogissue :BottomSheetDialog 弹出时,阴影无法覆盖到状态栏,导致状态栏还是默认的背景色处理方法:在oncreate 的时候重新计算并设置window 窗口的高度public class T3Botto...
2019-03-20 11:36:45 3667
转载 热修复——深入浅出原理与实现
热修复——深入浅出原理与实现(https://juejin.im/post/5a0ad2b551882531ba1077a2)
2019-03-11 15:37:59 131
原创 Android应用内切换语言
Android应用内切换语言前言Android中实现国际化相对来说还是简单的,因为Android有很独特的资源管理方式,我们可以很轻松的创建资源支持不同语言.资源文件的的使用android是在res/values目录下通过不同values文件夹的命名来匹配不同的资源values-语言代码-r国家代码例如:values-zh-rCN(中文)和values-en(英文)先看效果:一些...
2018-12-08 16:44:21 690
原创 使用ViewPager实现广告轮播图
使用ViewPager实现广告轮播图使用的是DialogFragment, 布局文件:fragment_ads_dialog <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/and
2018-11-30 20:56:00 491
转载 Android Gradle 完整指南
Android Gradle 完整指南为什么需要学Gradle?Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gradle 编译速度已经有了成倍提高。除此之外,相对其他编译工具,最重要的,他和 Android Studio ...
2018-11-29 15:08:13 176
原创 几种常用的转场动画
几种常用的转场动画fade_in.xml<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:duration="@android:integer/conf.
2018-11-05 15:32:57 3050
原创 这是在一个TetView中显示不同样式文本的工具类
这是在一个TetView中显示不同样式文本的工具类public class SpannableWrap { public static SpannableConfig setText(String text) { return new SpannableConfig(text); } public static class SpannableConfig...
2018-10-12 22:20:42 327
转载 Android 混淆机制、通用模板
Proguard介绍Proguard被人们熟知的是它的混淆功能,根据Proguard帮助文档的描述,Proguard可以对Java class 文件进行shrink,optimize,obfuscate和preveirfy。obfuscate(混淆)只是其中之一。简要的介绍下这四个功能:压缩(Shrink): 检测和删除没有使用的类,字段,方法和特性优化(Optimize) : 分析和...
2018-09-06 19:32:30 858
转载 Android获取设备ID号
Android获取设备ID号Android有多种方式可以获取设备ID,但是每一种总会有一点限制,为此,整合几种方式在一起,这样就万无一失了public class DeviceIdFactory {protected static final String PREFS_FILE = "device_id.xml";protected static final String PREFS...
2018-09-05 15:43:13 7882
原创 判断Android 应用前后台的几种方式
方法一: 通过Application.ActivityLifecycleCallbacksAPI 14之后,在Application类中,提供了一个应用生命周期回调的注册方法,用来对应用的生命周期进行集中管理,这个接口叫registerActivityLifecycleCallbacks,可以通过它注册自己的ActivityLifeCycleCallback,每一个Activity的生命周期都...
2018-09-04 19:48:06 884
原创 Java 知识储备 (基础篇 一)
1、面向对象的特征有哪些方面?1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。3)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过...
2018-09-03 20:20:54 309
原创 在Android 中自定义toast
自定义一个Toast工具类该类通过自定义View的形式,去自定义toast 的风格样式,在其他地方直接调用showShortToast等静态方法即可public class ToastUtil { private static Toast toast; private static View view; private static TextView mMsgTex...
2018-08-29 15:34:33 219
原创 解决NDK报错显示mips64el-linux-android-strip的问题
AndroidStudio使用NDK报错显示mips64el-linux-android-strip原本项目没有使用NDK,编译啥的都正常。最近由于在研究APP 增量更新相关东西,结果在另一个Demo项目中导入过NDK,该Demo使用AndroidStduio 自动创建,运行没有问题。结果在运行原公司项目的时候,出现 Execution failed for task ‘:app:tr...
2018-08-22 17:21:31 1682
Android AAC 框架
2023-04-26
Android Uvc 摄像头驱动
2023-04-26
辅助Android开发调试的工具App
2023-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人