
android
soso密斯密斯
https://github.com/hughcoder
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java ClassLoader与双亲委派模型
概述这里要先说明下java中的ClassLoader 和Android中的ClassLoader是有区别的。Android从5.0开始就采用art虚拟机, 该虚拟机有些类似Java虚拟机, 程序运行过程也需要通过ClassLoader 将目标类加载到内存中。本篇文章先带大家梳理下java的ClassLoader,可以带着问题去看本篇文章,会有更多的收获。java中的ClassLoader类加载就是多种类加载器(ClassLoader)来查找和加载Class文件到Java虚拟机中。类加载器就是根据指定原创 2020-11-24 23:00:06 · 262 阅读 · 0 评论 -
Android内存分析命令
一、概述由于app要接入某一厂商,对内存有严格的使用要求,比如初始内存要小于多少M,使用过程最大内存不得超过多少M等条件。对于这些量化的数据,我们需要重哪里获取呢。在开发阶段,我们除了用Android提供的工具,比如 Android Profiler 、MAT 等工具来通过可视化的方式洞察到我们应用程序的占用内存,Android中也提供了详细命令让我们使用。二、内存管理概览Android 运行时 (ART) 和 Dalvik 虚拟机使用分页和内存映射来管理内存。这意味着应用修改的任何内存,无论修改的原创 2020-10-20 15:36:02 · 1233 阅读 · 0 评论 -
dumpsys 使用
一、概述用法简介dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用下文所述的命令行选项仅获取您感兴趣的系统服务的输出。使用方法adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h]命令行选项选项说明-t timeout指定超时期限(秒)。如果未指定,默认值为 10 秒。–help输原创 2020-10-11 10:35:28 · 1453 阅读 · 1 评论 -
一篇文章了解Android MVVM开发 ----- ViewModel
前言MVVM的架构模式,在前端使用React同学,或者在用Flutter开发的同学,都能体会到React的思想用数据直接渲染UI的方便。在Android引入jetpack组件后,如果你还在使用MVP或者MVC的架构方式,赶紧来使用下吧,绝对会让你说出两个字 “真香”。这篇文章主要是介绍如何在项目中使用databinding + ViewModel +LiveData,体会下Android Jetpack给我们带来的方便。实现了单个业务使用ViewModel以及多个Fragment中通信使用viewMo原创 2020-09-16 16:29:33 · 1206 阅读 · 2 评论 -
一篇文章了解Android编译构建 编译优化
前言作为一名Android开发,我们总会面对下面这个按钮,对于一些大型项目,或者对于在编译期间做了很多task的工程都会花去相当多的时间。就我而言,经常跑一个debug的包需要3分钟左右,当跑release的包需要10分钟左右,如果是一些性能差的电脑,这个时间会消耗的更多。今天文章的主题有两个部分,一个是Android的编译都做了哪些事,还有一个是如何提高我们的编译是速度以及相关原理。今天的主题将围绕下面这个按钮开始讲述。什么是编译大家在刚学计算机基础这门课程的时候就知道,“计算机只认识0和1,我原创 2020-09-12 14:33:26 · 2544 阅读 · 0 评论 -
一篇文章了解CoordinatorLayout和toolbar、悬浮按钮各种联动
前言如果你的业务涉及到列表上下滑动隐藏显示toolbar(标题栏)或者是你的悬浮按钮根据列表的滑动做上下隐藏,左右隐藏。(若是产品提出仿某b站上下滑动隐藏消失,仿某宝购物车移动上下滑动使其左右隐藏显示)那么恭喜你,直接发动 cc + cv 技能 完美完成需求,大家可以先看下下方实现的效果样式。需要看代码的话直接点下方链接github代码直通车toolbar根据滑动上下隐藏实现 <com.google.android.material.appbar.AppBarLayout原创 2020-09-04 11:10:06 · 981 阅读 · 0 评论 -
音视频开发之旅(六) -----Android集成webrtc降噪和增益模块, ns_core函数简析
音视频开发之旅(六) -----Android集成webrtc降噪和增益模块, ns_core函数简析1.前言再上一章主要介绍了音频文件的相关操作,在录音的过程当中,由于android机型不同的型号,即使采样率设置成44100k,有一定的外接音或者一些噪音等印象,配音出来的结果并不是很好,肯能存在’滋滋声’或者一些声音失真。所以这一章我们将深入操作下音频的原始数据(即PCM文件),需要做一些音频降噪增益的处理,使用户的配音体验能做的更好。这篇文章主要先大致介绍下webrtc。在第三章会讲下如何在Andr原创 2020-08-08 11:49:35 · 9149 阅读 · 5 评论 -
浅谈Android里的Hook技术
浅谈Android里的Hook技术简介Hook技术要先提到逆向工程,其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推倒出产品的设计原理。逆向分析分为静态分析和动态分析,其中静态分析指的是一种在不执行程序的情况下对程序行为进行分析的技术,而动态分析是指在程序运行时对程序进行调试的技术。Hook技术就属于动态分析,在android中,动态的获取某一个实例的某些方法,这一点大家可...原创 2020-03-23 16:57:00 · 903 阅读 · 0 评论 -
AOP 面向切面编程 笔记
AOP 面向切面编程 笔记基础概念1.什么叫AOPAOP即面向切面编程,是OOP编程思想的一种延续。利用AOP,我们可以对业务逻辑的各个模块进行隔离,从而使得业务逻辑的各个模块进行隔离,从而使得业务逻辑各个部分之间的耦合度降低,提高程序的可充用性,同时提高开发的效率。利用AOP,我们可以在无侵入状态下在宿主中插入一些代码。常见的应用场景,比如日志埋点、性能监控、动态权限控制、代码调试等。...原创 2020-03-16 11:51:01 · 178 阅读 · 0 评论 -
Android卡顿相关原理和排查工具
Android卡顿优化思考前言大家在平时使用手机的时候,是否遇到过我的网络明明很好,怎么一个页面半天跳转不过去,或者是,经常看到在玩王者荣耀和刺激战场时,画面都卡成ppt了,完全是ppt游戏。画面流畅度不够,掉帧特别严重。基础知识造成卡顿的原因可能有千百种,不过最终都会反映到 CPU 时间上。我们可以把 CPU 时间分为两种:用户时间和系统时间。。用户时间就是执行用户态应用程序代码所消耗...原创 2020-01-07 14:22:41 · 2267 阅读 · 0 评论 -
Android camera2 实现估算眼睛到屏幕的距离 人脸识别 护眼实验室
记一次不成熟功能的开发记录主要使用的APIcamera2 FaceDetector一、实现思路:1.首先用camera2打开前置摄像头获取前置摄像头的照片2.通过FaceDetetoc来获取人双眼的间距3.我们知道摄像头的成像,近大远小。那么越远的距离,我们获取到眼间距的距离会越小,反之,则越大。4.取一个已知大小(长或宽)的参照物,在已知特定距离在手机上成像的大小,通...原创 2019-12-21 11:43:09 · 4404 阅读 · 1 评论 -
一篇文章掌握各种Android动画!
一、引言android的动画可以分为3种:View动画、帧动画和属性动画。View动画就是我们比较常见的对一些图形变化(平移、缩放、旋转、透明度),并且View动画支持自定义,官方提供距离,中心点,播放时间等等方法供我们使用。帧动画通过顺序播放一系列图像从而产生动画效果,类似以前老电影那种逐帧播放的感觉。属性动画,故名思议,修改相关View的属性,我们在用View动画的时候,无论View的平...原创 2019-11-23 11:33:36 · 316 阅读 · 0 评论 -
完整 MAC上Android在SonraQube上配置、应用
MAC上Android在SonraQube上配置、应用1、安装相应工具sonarqube安装包 jdk11 (最新版的sonarqube需要jdk11) SonarQube Scanner (brew install sonar-scanner)安装完 使用 sonar-scanner -v测试下INFO: Scanner configuration file: /...原创 2019-08-16 17:34:43 · 692 阅读 · 0 评论 -
仿拼多多评团列表倒计时循环滚动 Android
仿拼多多评团列表倒计时循环滚动,每段时间自动滚动Android现在开始动手撸代码首先要改下recyclerview的逻辑package com.hugh.basis.rvlooper;import android.content.Context;import android.support.annotation.Nullable;import andr...原创 2019-08-19 09:24:18 · 2597 阅读 · 2 评论 -
Android知识点 整理
源码连接生命周期理一理1.生命周期第一个Activity* onCreate - onStart - onResume -> onPause* -> 一、(正常情况走下一个Activity) -> 2onC ->2onStart->2onResume ->1onStop ---- (这样确保能有一个在前台)* -> 二、(异常情况横...原创 2019-04-11 16:39:41 · 423 阅读 · 0 评论 -
一款仿电商平台的培训课程app ------ 悦乐学
好久没写文章了,这里分享一下之前写过的一个app简要介绍功能1.在悦乐学系统中,用户能通过自己的手机号来获取账户,这也是市面上很主流的操作,当输入符合规定时,便能成为该系统的一个用户。2.登陆功能,用户通过之前注册的账户、便能成功访问悦乐学系统3.课程搜索功能,用户输入关键字,搜索出名称相关的课程,并根据自己的需要选择对应的课程。4.课程分类功能,用户可根据分类搜索出相关培训机...原创 2018-09-25 15:54:31 · 1089 阅读 · 3 评论 -
深入浅出——MVP模式
由于公司里的架构模式用到MVP,觉得自己还不够熟悉,决定在此理一理,并给大家一起总结下。一 MVP模式介绍MVP全称Model View Presenter。 MVP能够有效的降低View的复杂性,避免业务逻辑被塞进View中,防止View的代码变得冗杂。MVP模式会解除View与Model的耦合,同时又带来了良好的扩展性、可测试性,保证了系统的整洁性、灵活性。 肯能对于简单的应用来说MVP稍显原创 2018-03-18 21:37:33 · 1159 阅读 · 0 评论