自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

原创 《见与不见》

你爱或者不爱我,爱就在那里,不增不减。来我怀里,或者,让我住进你的心里。我的手就在你的手里,不舍不弃。《见与不见》–仓央嘉措。我就在那里,不悲不喜。情就在那里,不来不去。默然相爱,寂静喜欢。

2023-11-17 10:10:47 41

原创 Java-垃圾回收机制

天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身。知识就像甘蔗,入口甘甜,嚼之清脆爽口,久了不知其味,弃之又觉可惜,唯有反复咀嚼,方可有所增益,他日终成正果~画风一转,来谈一谈Java垃圾回收。本文将围绕以下三个问题来进行讲解。如何判断需要回收的内存?什么时候回收内存?如何回收内存?Java 中的内存分为堆(Heap)和栈(Stack)两部分,其中堆用于存储对象,栈用于存储基本类型数据和对象引用。

2023-06-15 14:55:48 503

原创 Kotlin-浅谈协程

方法三:是比较推荐的使用方法,我们可以通过 context 参数去管理和控制协程的生命周期(这里的 context 和 Android 里的不是一个东西,是一个更通用的概念,会有一个 Android 平台的封装来配合使用)。协程使用同步的方式完成异步任务,而且代码简洁,这也是Kotlin协程的魅力所在。将业务流程原理拆分得更细致一点,在主线程中创建协程A中执行整个业务流程,如果遇到异步调用任务则协程A被挂起,切换到IO线程中创建子协程B,获取结果后再恢复到主线程的协程A上,然后继续执行剩下的流程。

2023-05-26 10:28:08 332

原创 源码分析之——Application初始化流程

前言犹豫了好久想写一篇关于AMS启动流程的文章,也做了很多准备看了很多的源码。但怕自己理解的不全面,迟迟没敢下手。对于Android的小伙伴来说,大家或多或少的都会了解一点ActivityManagerService,简称AMS。那么废话不多说,下面我将针对AMS启动做一个简单的介绍。以Android10.0 aosp为基础进行梳理。谨以此记录下学习流程,欢迎广大博友交流指正。是时候提高一波了。。。启动流程...

2022-01-25 14:52:58 1857

原创 源码分析之——AMS启动流程

在这里插入图片描述前言对于Android的小伙伴来说,大家或多或少的都会了解一点ActivityManagerService,简称AMS。那么废话不多说,下面我将针对AMS启动做一个简单的介绍。以Android10.0 aosp为基础进行梳理。谨以此记录下学习流程,欢迎广大博友交流指正。是时候提高一波了。。。启动流程...

2021-12-02 16:36:02 1476

原创 Activity生命周期

2021-09-27 14:34:03 73

原创 源码分析之——Activity四大启动模式

1.源码分析之——AMS启动流程2.源码分析之——WMS启动流程3.源码分析之——SharedPreferences4.源码分析之——Retrofit5.源码分析之——OKHttp6.源码分析之——Android事件分发机制前言基于源码,简单分析下Activity四大启动模式。简介安卓四大组件之一Activity有四种启动模式,分别为:1.standard 标准模式,每次都会新建一个实例对象;2.singleTop 如果在任务栈顶发现了相同的实例则重用,否则新建并压入栈顶;3.si

2021-01-07 16:27:23 204 1

原创 源码分析之——Handler解析

1.源码分析之——AMS启动流程2.源码分析之——WMS启动流程3.源码分析之——SharedPreferences4.源码分析之——Retrofit5.源码分析之——OKHttp6.源码分析之——Android事件分发机制前言基于源码,简单分析下Handler机制。流程图作用简单来说就是线程间通信。比如说有一个耗时操作,当其完成后需要更新UI页面,这时候就可以考虑使用Handler了。使用 Looper.prepare(); Handler han

2020-12-29 16:44:10 104

原创 源码分析之——Android事件分发机制

1.源码分析之——AMS启动流程2.源码分析之——WMS启动流程3.源码分析之——SharedPreferences4.源码分析之——Retrofit5.源码分析之——OKHttp前言基于源码,简单分析下Android事件分发机制。流程图源码分析下面将从源码角度对以上流程进行分析。做过Android开发的同学对于几大布局应该都很熟悉,像LinearLayout,RelativeLayout,FrameLayout,CoordinatorLayout等等。细心的同学就会发现这些布局全部

2020-12-21 18:07:30 179

原创 Only the original thread that created a view hierarchy can touch its views

背景:今天项目中遇到一个奇葩问题,给NestedScrollView子view1,view2设置 GONE属性的时候,发现留下了两个空白区域(如下图所示)。我们都知道view的GONE属性是会把整个区域都会给隐藏掉的呀,一头雾水,why?分析:绞尽脑汁。。。没办法只能一步一步debug,尝试不断复现此问题,然后抓log,说来也巧被我抓住了一些蛛丝马迹。2020-12-08 14:35:55.275 15880-15898/? W/System.err: android.view.ViewRootI

2020-12-08 16:20:06 249

原创 源码分析之——OKHttp

1.源码分析之——Retrofit前言基于源码,简单分析下OKHttp工作流程。流程图OKHttp基本使用在 gradle 中添加依赖implementation 'com.squareup.okhttp3:okhttp:3.14.9'1.首先创建OkHttpClient对象OkHttpClient client = new OkHttpClient();2.构造Request对象Request request = new Request.Builder()

2020-12-02 15:55:01 180 2

原创 源码分析之——Retrofit

前言基于源码,简单分析下Retrofit工作流程。流程图源码分析下面将从Retrofit的创建到发送一个异步请求再到callback这一流程进行分析。Retrofit使用建造者模式进行创建,因此让我们从Builder开启源码分析之旅吧。注意:为了精简内容,部分不在分析之内的代码已省略,如果想深入学习的同学请查看详细源码Retrofit源码 public Retrofit build() { if (baseUrl == null) { throw new Ill.

2020-11-24 17:46:13 125

原创 栈内存溢出: java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again

项目场景:Android APP开发问题描述:华为Mate40手机上莫名其妙的闪退。Log如下:11-10 18:05:17.671 31217 31217 E AndroidRuntime: java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again11-10 18:05:17.671 31217 31217 E AndroidRuntime: at java.lang.Thread.native.

2020-11-20 14:19:45 704

原创 源码分析之——SharedPreferences

前言前几篇文章主要讲了安卓四大组件之Activity。最近在coding的时候又遇到一个问题:自己项目中有两个Activity分别命名为Activity1和Activity2,而Activity1属于process1,Activity2属于process2,从Activity1跳转到Activity2,然后在Activity2中通过使用SharedPreferences进行保存简单的数据,结果不...

2020-03-12 11:30:48 203

原创 源码分析之——WMS启动流程

前言上一节讲了Activity启动流程,下面针对WMS启动做一个简单的介绍。以Android10.0 aosp为基础进行梳理。谨以此记录下学习流程,欢迎广大博友交流指正。是时候提高一波了。。。启动流程简单分析SystemServer类中run()方法在执行的时候会启动三类服务,分别为:...

2020-01-15 14:49:26 794 1

原创 源码分析之——AMS之应用启动流程

谨以此记录下学习流程,欢迎广大博友交流指正。1.代码来源2.启动流程图

2019-12-27 17:43:04 774

原创 浅谈ReactNative 组件的生命周期

React Native 中组件的生命周期 28 OCTOBER 2015 on React-Native, Android 概述 就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle)。所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键。RN 组件的生命周期整理如下图: 3-3-c

2017-10-26 11:46:45 186

原创 Android TextView内容包含中英文时满行居中,不足一行则左对齐,会出现左右空格不一致。

package com.roya.shandong.view;import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.text.Layout; import android.text.StaticLayout; import a

2017-09-19 15:27:06 1829

原创 用StrictMode来检测SQLite的泄漏leaked优秀排错方法

用StrictMode来检测SQLite的泄漏leaked优秀排错方法Chapter: Android与SQLite数据库 1. SQLite 数据库的初步认识 2. SQLite 数据库的一些基本操作 3. SQLite 在 Android 开发中的简单应用演示 4. Android SQLite 增删改查操作的补充说明 5. 单独谈谈 Android Cursor 的使用细节 6.

2017-09-07 16:47:04 754

原创 菜鸟面试修行记

面试问题总结:1、service 启动方式分为两种:一、Context.startService()方式启动 Context.startService()方式的生命周期: 启动时,startService –> onCreate() –> onStart()停止时,stopService –> onDestroy()如果调用者直接退出而没有停止Service,则Service 会一

2017-06-27 10:02:48 345

CrackWifi.rar

基于Android端简单WiFi破解程序

2021-01-29

DataCenter.rar

使用Python爬取天猫&淘宝商品销量数据,以及京东商城商品评论数。并解析对应的数据,将其输出为Excel文件,为对应的业务提供数据支撑。

2020-06-22

FFmpegAndroid-18c948ad635d4678c009764d5513c493439d7106.rar

简单画板,支持编辑画笔颜色,粗细以及清除功能,提供轨迹回放功能。基于FFmpeg将轨迹生成gif和视频并保存至本地路径,方便用户查看或者分享。

2020-03-12

FrameWorkDemo.rar

DrawerLayout实现抽屉式布局,自定义RecyclerView实现照片墙,支持下拉刷新,上拉加载更多。Realm数据库使用以及搭建项目框架。简单封装RxJava2+Retrofit2+OkHttp3实现网络请求。妹子多多。。。 https://github.com/Aphrodite123/FrameWorkDemo.git

2019-06-12

简单天气预报源码工程

一款简易的可供查看实时天气预报的Android APP,主要功能:添加/删除城市,定位当前位置,以及根据天气情况实现背景切换等功能。代码写的比较简单,可向初学者提供借鉴,如有问题可留言沟通。有任何建议都可以留言。。。

2018-04-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除