随笔分类 -  android

1 2 3 下一页

something about my android‘s study
一图看懂安卓中activitythread启动application和Mainactivity流程(基于安卓10,SDK29)
摘要:背景 ams的流程梳理起来很有意思,各个版本还是有些差异,不过基本流程还是类似的。今天有空简单梳理了下安卓10 activitythread主线程开始,到启动application和activity(即主线程启动到application和activity的oncreate生命周期),后面有空再深入完 阅读全文

posted @ 2022-02-19 21:52 baorant 阅读(550) 评论(0) 推荐(0) 编辑

安卓中多线程梳理
摘要:安卓中多线程梳理 一、HandlerThread梳理 (1)解决主线程耗时问题 (2)避免内存泄漏 二、IntentService梳理 三、线程池梳理 核心线程最大数量: 计算密集型=Ncpu+1,但是这种做法导致的多一个cpu上下文切换。 1、优点: (1)线程复用,减少内存开销 (2)限定最大并 阅读全文

posted @ 2022-02-14 09:23 baorant 阅读(247) 评论(0) 推荐(0) 编辑

eventBus使用和及源码初步梳理
摘要:eventBus使用和及源码初步梳理 一、eventbus简介 EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发。它简化了应用程序内各个组件、线程之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。 1.1 三个重要角 阅读全文

posted @ 2022-02-13 15:07 baorant 阅读(76) 评论(0) 推荐(0) 编辑

安卓中IO机制概要
摘要:安卓中IO机制概要 一、basic IO和NIO (1)内核空间 内核:一套软件,操作系统用于支撑基础使用的功能程序 (2)数据读写的方案 内核空间对于IO的操作方案: 页:4K数据为一页, 一页数据是IO操作的基本单位 空间局部性原理:在常规操作下, 如果数据量较大的情况下可能会出现预占位4~16 阅读全文

posted @ 2022-01-09 16:18 baorant 阅读(310) 评论(0) 推荐(0) 编辑

安卓中并发总结
摘要:安卓中并发总结 一、JMM内存模型和并发 JMM规定了内存主要划分为主内存和工作内存两种,内存模型示意如下: 1、缓存一致性 现在的手机通常有两个或者多个CPU,其中一些CPU还有多核。每个CPU在某一时刻都能运行一个线程,这就意味着,如果你的Java程序是多线程的,那么就有可能存在多个线程在同一时 阅读全文

posted @ 2022-01-08 17:23 baorant 阅读(107) 评论(0) 推荐(0) 编辑

安卓中jvm总结
摘要:一、运行时数据区 1、java程序的执行过程 2、虚拟机 3、jvm组成和架构示意 4、运行时数据区 二、对象分配过程完全解析 1、堆内存划分 2、java中GC机制 3、对象逃逸与代码优化 (1)对象逃逸 非逃逸:一个对象的作用域仅限于方法区域内部在使用的情况下; 非逃逸:一个对象的作用域仅限于方 阅读全文

posted @ 2022-01-08 16:08 baorant 阅读(253) 评论(0) 推荐(0) 编辑

安卓中handler的post(Runnable)用法总结及源码初探
摘要:安卓中handler的post(Runnable)用法总结及源码初探 背景 安卓中线程间通信过程,handler有很重要的应用,现对handler的post操作进行总结 一、handler的post(Runnable)用法 public class MainActivity extends AppC 阅读全文

posted @ 2021-12-26 16:13 baorant 阅读(1837) 评论(0) 推荐(0) 编辑

安卓中多线程间通信方式
摘要:背景 安卓开发中多线程间通信是比较常见的操作,现对常用的几种方式先进行一波简单的总结。 一、通过handler方式 Handler handler = new Handler() { @Override public void handleMessage(@NonNull Message msg) 阅读全文

posted @ 2021-12-26 14:44 baorant 阅读(816) 评论(0) 推荐(0) 编辑

在电脑端打开apk文件
摘要:今天碰到一个问题,就是手机上下了一个软件,想用他显示界面的一个标签,需要打开项目查看文件?? A: 你可以右键点击文件选择打开方式,然后选择用winrar打开 来查看文件中的内容。或者更改文件后缀名为.rar 然后解压 会得到一个文件夹,里面就是改程序的源代码。 这样获得源代码挺方便啦的。 阅读全文

posted @ 2018-01-31 17:27 baorant 阅读(350) 评论(0) 推荐(0) 编辑

海马玩模拟器共享文件夹导入导出图文教程
摘要:Drodid4X安卓模拟器的SD卡是通过虚拟机的虚拟磁盘来实现的,不能在电脑中直接访问。那遇到需要从SD卡复制/存入数据的操作,比如把游戏数据包放到SD卡、游戏存档数据备份等操作。下面来看看海马玩模拟器共享文件夹功能的使用方法。 一、设置共享文件夹 1.点击左侧的设置图标,然后点击共享文件夹图标。< 阅读全文

posted @ 2018-01-15 17:00 baorant 阅读(1139) 评论(0) 推荐(0) 编辑

Android中IntentService与Service的区别
摘要:Android中的Service是用于后台服务的,当应用程序被挂到后台的时候,问了保证应用某些组件仍然可以工作而引入了Service这个概念,那么这里面要强调的是Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,也就是说,在更多时候不建议在Service中编写耗时的逻辑和 阅读全文

posted @ 2017-12-13 11:05 baorant 阅读(598) 评论(0) 推荐(0) 编辑

安卓中常用的设计模式
摘要:单例设计模式(例如:Application) 所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。具体实现步骤如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并 阅读全文

posted @ 2017-12-12 17:26 baorant 阅读(489) 评论(0) 推荐(0) 编辑

安卓中MVC的使用
摘要:mvc是model,view,controller的缩写。 mvc包含三个部分:(逻辑,控制,展示分开) 模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。 视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输 阅读全文

posted @ 2017-12-12 17:22 baorant 阅读(442) 评论(0) 推荐(0) 编辑

安卓中service和Thread区别
摘要:Service:是安卓的四大组件之一, Service的开启方式有两种,分别是StartService,和BindService,这两种启动方式的区别是: StartService与Activity没有任何关系,只要开启以后,就一直活跃在后头, BindService与开启的activity有关联, 阅读全文

posted @ 2017-12-12 17:20 baorant 阅读(164) 评论(0) 推荐(0) 编辑

安卓内存的优化
摘要:1)静态变量引起内存泄露(内存泄露多了就变成溢出) 在代码优化的过程中,我们需要对代码中的静态变量特别留意。静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才会被销毁。所以,一般情况下,静态变量从所在的类被使用开始就要一直占用着内存空间,直到程序退出。如果不注意,静 阅读全文

posted @ 2017-12-12 17:15 baorant 阅读(122) 评论(0) 推荐(0) 编辑

tcp和udp区别
摘要:TCP (长链接)(管发管收,数据安全)传输控制协议,提供的是面向连接、可靠的字节流服务,传输数据前经过“三次握手”建立连接,保证数据传输的可靠性,但效率比较低。一般用于对于数据传输安全性较高的场合。 UDP (短连接,只管发,不管收,想聊天就是UDK,丢了几句聊天记录无所谓)用户数据报协议,是一个 阅读全文

posted @ 2017-12-12 17:12 baorant 阅读(140) 评论(0) 推荐(0) 编辑

安卓中线程之间的通信方式(如何避免ANR)
摘要:(1). AsyncTask,其中doInBackground()和onPostExecute(Result)两个方法非常重要 doInBackground() 这个方法运行在后台线程中,主要负责执行那些很耗时的操作,如访问网络。该方法必须重写。(其实这个方法就是在子线程中做耗时操作,通过handl 阅读全文

posted @ 2017-12-12 17:09 baorant 阅读(339) 评论(0) 推荐(0) 编辑

安卓模拟器访问tomcat
摘要:在一般的Java Web程序开发中,我们通常使用localhost或者127.0.0.1来访问本机的Web服务,但是如果我们在Android模拟器中也采用同样的地址来访问,Android模拟器将无法正常访问到我们的服务,这是为什么呢? 我们可以这样来理解:Android的底层是Linux kerne 阅读全文

posted @ 2017-06-17 22:45 baorant 阅读(548) 评论(0) 推荐(0) 编辑

startActivityForResult详解
摘要:在启动另外一个Activity的时候,有两种方法,一种是直接使用startActivity,另外一种就是使用startActivityForResult。本文主要通过一个Demo来学习一下第二种。 startActivityForResult的主要作用就是它可以回传数据,假设我们有两个页面,首先进入 阅读全文

posted @ 2017-06-11 12:22 baorant 阅读(249) 评论(0) 推荐(0) 编辑

Android中TextUtils类
摘要:对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下: 是否为空字符 boolean Android.text.TextUtils.isEmpty(Char 阅读全文

posted @ 2017-06-08 22:31 baorant 阅读(532) 评论(0) 推荐(0) 编辑

1 2 3 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示