
android java开发
文章平均质量分 90
kaibingwang
这个作者很懒,什么都没留下…
展开
-
Java虚拟机
概述我们常说的JDK包含了Java语言、java虚拟机和java api类库这三部分,是java程序开发的最小环境。而JRE包含了java api中的java SE API子集和java虚拟机这两部分,是java程序员运行的保准环境。可以看出java虚拟机是整个平台的基石,是java语言编译代码的运行平台。你可以把java虚拟机看做是一个抽象的计算机,有各种指令集和各种运行时数据区域。虽然叫java虚拟机,但在其上可运行的语言不仅仅是java,还包括Kotlin、Groovy、Scala、Jython等。转载 2021-07-19 15:48:39 · 257 阅读 · 0 评论 -
Java之垃圾收集
下面为翻译文章的一定语从句:原文英文链接:https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html来自维基百科:这篇文章是关于在内存管理中的垃圾收集。有关固态硬盘中的垃圾收集,请参见垃圾收集(SSD)。有关其他用途,请参见垃圾收集(消除歧义)。原创 2021-07-13 09:38:32 · 259 阅读 · 0 评论 -
java中的线程同步
线程同步前言:以下为我翻译过程中的一个长句,为宾语从句:原文链接:https://docs.oracle.com/javase/tutorial/essential/concurrency/sync.html。通过阅读英文技术文档,对synchronized中的监视器monitor和volatile以及atomic(原子性)有了更深入的了解,其他能在后面的项目中用到相关知识,解决问题。同步性线程主要是通过访问共享的字段和该字段引用的对象来进行通信。这种交流方式及其有效,但可能会引翻译 2021-07-08 14:46:31 · 162 阅读 · 0 评论 -
android最佳实践:网络 电池 压缩
翻译此篇文章,总共加起来有6个小时。有些英文长句,里面包含的各种从句,需要借助翻译软件才勉强理解,但是其实文章中还是会有大量不是特别流畅的语言,有两个地方需要提高,一是写作的语言组织表达能力。二是一个英语长句型包含的各种从句(后面的翻译文章会对典型的长句子单独出来做句子成分分析,同时也是进一步提高自己英文读的能力)。原文链接:https://google-developer-training.github.io/android-developer-advanced-course-concepts/u..翻译 2021-07-06 09:43:41 · 181 阅读 · 0 评论 -
Android内存
大家好,技术学习最好的一手资源就是英文文档,所以给自己定下一个目标:通过参阅英文技术文档来进一步提高自己的技术能力。下面是我翻译的一篇技术文档,欢迎朋友们拍砖、交流、一起进步。原文:https://google-developer-training.github.io/android-developer-advanced-course-concepts/unit-2-make-your-apps-fast-and-small/lesson-4-performance/4-2-c-memory/4-2-c翻译 2021-07-01 18:54:03 · 184 阅读 · 0 评论 -
归并排序和快速排序
一:归并排序要排序一个数组,我们先把数组分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就有序了。归并排序使用的就是分治思想。分治,顾名思义,就是分而治之,将一个大问题分解成小的子问题来解决。小的子问题解决了,大问题也就解决了。分治思想一般是通过递归来实现的。代码实现:/** * 递归切分待排 * * @param nums 待切分...转载 2020-04-05 17:11:36 · 803 阅读 · 0 评论 -
冒泡 插入 选择排序
一:冒泡排序算法原理:顾名思义,冒泡,最大的元素可理解成通过冒泡的形式筛选出来。对于一个数组来说,a[0]、a[1]、a[2]、a[3]....a[n],从a[0] a[1]、a[1] a[2]、a[2] a[3]....a[n-1] a[n]进行两两比较,如果前面的元素值比后面的大,则进行交换处理,例如a[0]>a[1],则进行int temp = a[0],a[0]=a[1] a[1...原创 2020-04-04 16:20:40 · 160 阅读 · 0 评论 -
APP启动应用优化加速和卡顿
APP启动应用优化加速和卡顿一:应用启动类型1冷启动应用自启动后,或系统终止应用后的首次启动2暖启动如:应用退出应用,又重新启动,程序可能已经运行,但需要重新创建acitivity。或者进程被系统杀死,但是在activity的oncreate时有savedInstanceState3热启动应用的acitvity还留在内存中,系统只需将activity带到前台在冷启动中,应...转载 2020-03-21 11:29:06 · 1051 阅读 · 0 评论 -
APP应用ANR
一:ANR是什么ANR:应用程序无响应(Application Not Responding)系统ActivityManagerService与WindowManagerService会检测应用程序的响应时间。如果主线程主线程(UI线程)在超时时间内对Input事件(按键、触屏等)或者特定操作(Broadcast、service的各种生命周期方法)没有处理完毕,就会出现ANR。Inpu...转载 2020-03-18 21:27:41 · 379 阅读 · 0 评论 -
APP应用崩溃
一:崩溃和崩溃率Android崩溃是指Android应用程序出现异常退出,对一个应用来说几乎是致命的问题。崩溃率衡量一个应用质量高低的基本指标。一个产品的崩溃率,跟我们如何捕获、处理这些异常有比较大的关系。很多工具提供了收集崩溃,计算崩溃率的能力,如阿里的友盟、腾讯的Bugly、网易云捕、Google的Firebase。二:崩溃类型Android崩溃分为以下几种:Java Cras...转载 2020-03-18 10:19:19 · 536 阅读 · 0 评论 -
APP应用内存优化
一:安装内存管理机制内存优化:避免因不正确使用内存,缺乏管理,从而出现内存泄漏、内存溢出、内存空间占用过大等问题,最终导致应用程序奔溃。进程回收策略:Application Framework决定回收的进程类型:android中的进程是托管的;当进程空间紧张时,会按照进程优选级低-->高的顺序自动回收进程分配对象内存策略:堆:JVM管理的内存中最大的一块,所有线程共享;用...原创 2020-03-17 11:17:53 · 627 阅读 · 0 评论 -
HashMap源码分析之put和get
今天我来和大家梳理下HashMap的核心两个方法:put和get方法,里面会涉及到以下几个问题:1.hashMap使用到的数据结构(数组、链表、红黑树)2.数组的扩容规则、链表转换成红黑树的条件以及红黑树什么情况下又会转成链表3.hashMap存储元素时,hash冲突时如何具体解决带着上述三个问题,我们可以在put和get方法中找到相应的答案一:整体架构HashMap...原创 2020-02-16 18:00:31 · 389 阅读 · 0 评论 -
端云密钥下发方案
很多移动端app项目会有这样的场景,app请求云测(服务器)下载资源,像音乐 视频类app去下载歌曲文件、教学类app去下载课本资源文件以及很多其他需要向云测下载文件的场景。这些下载下来的文件,有些涉及知识版权(音乐、视频、教学资源),有些设计用户的个人隐私信息等等,app下载下来的文件如果没有加密,即使放在所属应用的文件路径(data/data/包名)下,如果手机是root,也是可轻而易举拿到这...原创 2020-02-14 11:51:07 · 1861 阅读 · 5 评论 -
android:两个进程之间通过AIDL进行通信
当一个app的基础功能需要提供给其他app使用的时候,例如我们平常使用美团点外卖和滴滴进行打车时,最后订单结算的时候进行支付,这个时候弹出支付方式中基本会包含支付宝和微信支付这两种方式,这个过程其实涉及美团、滴滴与支付宝或者微信进行通信的过程,美团需要把商品信息(订单号、金额)传递给支付宝,那是如何传递的呢?本文会对此过程进行一个大概的梳理。如上图所示,一个进程无法和另一个进程直接...原创 2019-06-24 07:44:54 · 736 阅读 · 0 评论 -
Android之进程间通信
android中进程间通信,简称IPC(Inter-Process-Communication),可以理解为android中两个进程之间进程数据交互的通信过程。那我们首选说下进程和线程的却别,即:线程是CPU调度的最小单元,同时线程是一种有限的系统资源。而进程一般指一个执行单元,在PC和移动设备中指一个程序或者一个应用。一个进程可以保持多个线程,它们是包含和被包含的关系。IPC不是an...转载 2019-06-24 07:43:03 · 296 阅读 · 0 评论 -
有关加密的那些事儿
在android开发中,与后台进行网络请求,APP端发送有关用户的数据(像密码)或者接口返回有关的用户的数据(sessionKey、passWord)等,会进行处理;以及从文件服务器下载文件,进行文件使用之前,会进行本地的文件“单向散列函数”校验或者“消息认证码校验”,这其中都涉及到加密,接下来一一展开。 一:对称加密对称加密有很多种,但是AES基本已取代DES和3D...原创 2019-04-08 07:45:36 · 422 阅读 · 0 评论