- 博客(16)
- 资源 (12)
- 收藏
- 关注
原创 安卓性能监控(APM)之内存占用监控
目标监控app使用的内存以及系统可用内存等内存相关信息.方案周期性监控,如10秒或1分钟等.获取内存占用信息.获取系统内存信息ActivityManager.MemoryInfo()availMem:系统可用内存大小。totalMem:系统总共内存大小threshold:系统开始kill后台服务和进程的内存阈值大小lowMemory:系统处于低内存时该值为true获取App占用内存信息Runtime.getRunTime()maxMemory:App最大可用内存f
2020-05-29 17:17:23 2224
原创 安卓性能监控(APM)之启动时间监控
App启动流程图App启动流程说明点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;system_server进程接收到请求后,向zygote进程发送创建进程请求;Zygote进程fork出新的子进程,即App进程;App进程,通过Binder IPC向sytem_server进程发起attachApplication请求;system_server进程在收到请求后,进行一系列准备工作后,再通过binder I
2020-05-29 10:09:19 1516
原创 安卓使用GridView实现网格视图
效果图主要代码class FlowerAdapter(private val context: Context, flowerData: ArrayList<Flower>) : BaseAdapter() { private var mFlowerData = ArrayList<Flower>() private val mInflaterCatalogListItems: LayoutInflater init { mFlower
2020-05-27 10:10:39 607
原创 安卓压缩/解压缩工具
public class ZipUtils { private static final int BUFF_SIZE = 1024 * 1024; // 1M Byte /** * 压缩目录 * * @param srcPath 被压缩的目录路径 * @param destZipFilePath 目标zip文件路径 * @param excludeTopDir 是否排除掉顶层目录 * @throws IOEx
2020-05-20 21:05:20 465
原创 强制使用WebView打开网页,而不跳转到系统浏览器
问题描述在使用WebView打开某些网站时,会出现跳转到系统浏览器或者出现选择打开程序的界面.目标希望始终在WebView里打开网页,而不跳转到系统浏览器.解决方案添加如下设置即可.webView.webViewClient = WebViewClient()...
2020-05-19 14:08:54 3083
原创 解决ViewPager嵌套WebView时滑动冲突问题
问题描述当ViewPager里嵌套WebView时,默认WebView是处理不了滑动事件的.这样的话,如果WebView里内容一屏展示不完,就没法查看完整内容了.解决方案定制WebView,覆写onTouchEvent和onOverScrolled两个方法.这样当WebView内部内容没有滑动到最边上时,滑动事件都在自己内部处理;如果到了边上,就交给ViewPager来做翻页.class MyWebView(context: Context, attrs: AttributeSet) : WebV
2020-05-15 17:12:15 1293 1
原创 安卓依赖包版本冲突:has different version for the compile (1.0.10) and runtime (1.0.11) classpath.
问题描述编译安卓项目时,报如下错误:Android dependency 'com.xxx.lib:lib_xxx' has different version for the compile (1.0.10) and runtime (1.0.11) classpath. You should manually set the same version via DependencyResolution分析大的项目里通常有很多依赖包,而被依赖的包又依赖其他的包,就难免会出现包版本号不一致的问题.
2020-05-15 11:06:18 2271
原创 安卓中使用lottie显示动画特效
目标集成lottie,显示动画效果效果图使用方法增加依赖implementation 'com.airbnb.android:lottie:3.4.0'布局文件中增加:<com.airbnb.lottie.LottieAnimationView android:id="@+id/lottie_view" android:layout_width="wrap_content" android:layout_height="wrap_content"
2020-05-14 16:36:15 740
原创 安卓如何跳转到其他应用,如跳转到QQ
实现效果图主要代码val intent = Intent()intent.action = Intent.ACTION_VIEWintent.data = Uri.parse("mqqwpa://im/chat?chat_type=wpa&uin=女票的QQ号")startActivity(intent)
2020-05-13 17:22:12 1302
原创 安卓Coroutines结合Retrofit发送单个或多个网络请求(串行)
目标采用Coroutines结合Retrofit,发送单个或多个网络请求(串行),并更新UI.实现方案发送单个网络请求方案修改app工程的build.gradle文件在android节点下添加如下信息compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8}添加依赖implementation 'com.squ
2020-05-12 11:17:47 500
原创 安卓AsyncTask发送单个或多个网络请求(串行)
目标采用AsyncTask,发送单个或多个网络请求(串行),并更新UI.实现方案发送单个网络请求方案修改app工程的build.gradle文件在android节点下添加如下信息compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8}添加依赖implementation "com.google.code.gs
2020-05-12 11:16:20 760
原创 安卓Retrofit发送单个或多个网络请求(串行)
目标采用Retrofit,发送单个或多个网络请求(串行),并更新UI.实现方案发送单个网络请求方案修改app工程的build.gradle文件在android节点下添加如下信息compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8}添加依赖implementation 'com.squareup.retrof
2020-05-12 10:47:07 1863
原创 安卓RxJava结合Retrofit发送单个或多个网络请求(串行)
目标采用RxJava和Retrofit,发送单个或多个网络请求(串行),并更新UI.实现方案发送单个网络请求方案定义数据类Task.ktdata class Task(val id: Int, var name: String)创建网络接口类NetworkService.ktinterface NetworkService { @GET("cxyzy1/AndroidAsyncTaskDemo/raw/master/data.json") fun query(): O
2020-05-12 10:39:04 2626
原创 安卓使用Room操作SQLite数据库
目标介绍通过Google官方提供的Room库来进行Sqlite数据库操作.本文会完成对一张用户表进行增/删/查操作.效果图实现方案在app模块下build.gradle文件中添加依赖//集成room进行Sqlite数据库操作implementation "androidx.room:room-runtime:2.2.5"kapt "androidx.room:room-comp...
2020-05-06 14:01:18 1935 1
原创 安卓读取短信
目标读取安卓系统短信.实现方案添加依赖implementation 'com.qw:soulpermission:1.3.0'主要代码class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreat...
2020-05-06 10:39:42 1359
原创 安卓读取系统通讯录
目标读取安卓系统通讯录实现方案class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activit...
2020-05-06 10:36:17 897
通过Apache common pool开源包实现对象池
2014-04-25
java(cglib)动态代理样例
2014-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人