andriod
文章平均质量分 52
a136447572
这个作者很懒,什么都没留下…
展开
-
Git 的下载与安装
Git 下载与安装转载 2022-12-06 23:41:33 · 337 阅读 · 0 评论 -
Android 好用的博客地址个人收藏
原创 2022-05-30 10:08:53 · 132 阅读 · 0 评论 -
Android Crash 监控方案
Crash 监控方案1 java1 UncaughtExceptionHandlerpackage com.enjoy.crash2;import android.content.Context;import java.io.File;public class CrashReport { public static void init(Context context) { Context applicationContext = context.getApplicat原创 2021-10-20 10:33:50 · 1191 阅读 · 0 评论 -
APK瘦身
1 安装插件 Android Size Analyzer2 启动资源缩减2.1 需要开区混淆后 才可以开启资源缩减shrinkResources true配合minifyEnabled true 使用 都设置成truebuildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-andr原创 2021-10-19 17:41:44 · 606 阅读 · 0 评论 -
Android 电量与网络优化
电量优化1 Doze 低电耗模式未充电,屏幕熄灭,让设备在一段时间内保持不活动状态,延迟应用的后台CPU和网络活动,从而降低耗电量2 Standby待机模式当用户有一段花四溅未触摸应用并且应用没有以下表现,则android系统就会使应用进入空闲状态2.1 用户明确启动应用2.2 应用当前有一个进程在前台运行,作为活动或前台服务,或者正在由其他活动或前台服务使用2.3 应用生成用户可在锁定屏幕或通知栏中看到的通知当用户插上电源后会推出Standby模式3 用户授权应用添加白名单 ,googl原创 2021-10-17 00:12:21 · 509 阅读 · 0 评论 -
Adnroid 卡顿分析与布局优化
1 卡顿分析1 SystraceSystrace是Android平台提供的一款工具,用于记录短期内的设备活动,其中汇总了Android内核中的数据,例如CPU调度程序,磁盘活动和应用程序,Systrace主要用来分析绘制性能方面的问题,在发生卡顿时,通过这份报告,可以知道当前整个系统所处的状态,从而帮助开发者更直观的分析系统瓶颈,改进系统性能`2 android profile 中的cpu监测**App层面监测卡顿1 利用UI线程的Looper打印日志匹配2 使用Choreographer.F原创 2021-10-16 15:41:15 · 941 阅读 · 0 评论 -
Android ANR分析
Android ANR分析什么时候会出现ANR1keyDispatchTimeoutinput事件5秒内没有处理完发生了ANRLogcat 关键字, input event dispatching timed out2 broadcastTimeout前台广播,onReceiver 10s 内没有处理完发生ANR后台广播,onReceiver 60s 呢没有处理完发生ANRLogcat 关键字,timeout of boradcast BroadcastRecord3 ServiceTim原创 2021-10-16 14:42:04 · 404 阅读 · 0 评论 -
Android 启动速度优化
1 启动状态1.1冷启动 启动需要5s 或更长时间冷启动是指应用从头开始启动,系统进程在冷启动后才创建应用进程第一次启动应用1.2热启动 启动需要1.5s 或更长时间在热启动中,系统的所有工作就是将Activity带到前台只要应用的所有Activity仍驻留在内存中,应用就不要重复 执行对象初始化,布局加载和绘制的流程1.3温启动 启动需要2s 或更长时间温启动包含了在冷启动期间发生的部分操作,同时,同时,他的开销要比热启动高,有许多潜在的状态视为温启动 例如#用户在退出应用后又重新启原创 2021-10-15 14:40:48 · 535 阅读 · 0 评论 -
Android 屏幕适配
屏幕适配1 基本概念屏幕尺寸是对角线的长度,单位是英寸,一英寸等于2.54厘米private static float sNoncompatDensity;// 系统的Densityprivate static float sNoncompatScaleDensity;// 系统的ScaledDensityprivate static void setCustomDensity(Activity activity, final Application application){ fina原创 2021-10-14 22:36:41 · 129 阅读 · 0 评论 -
Android 内存优化
Android 内存优化1 静态变量引起内存泄漏静态变量的生命周期是从这个类被声明开始的,到这个类被垃圾回收器回收才会被销毁,所以,一般情况下,静态变量从所在的类被使用开始就要一直占用着内存空间,知道这个类结束.如果不注意,静态变量会占用大量内存的资源,造成垃圾回收器无法堆内存进行回收,造成内存浪费,示例 1 定义一个ActivityPrivate static Resources mResources;void onCrrate(Bundle state){Super.onCreate(sta原创 2021-10-14 14:40:25 · 161 阅读 · 0 评论 -
Android 进阶
1 Java 泛型2 自定义View和事件分发_分析理解Okhttp3 - 笔记原创 2021-10-13 23:22:18 · 154 阅读 · 0 评论 -
Java 泛型
1 泛型方法void <E> getSize( E e){}2 泛型类 `class Test<T>{}`3 泛型限定 可以修饰类 也可以修饰方法3.1 泛型限定 `void <T extends Person> Text2(T t1 ,T t2){}` 3.2 泛型限定 `void <T,V extends Person&Person2> Text2(T t1 ,T t2){}`限定类型 可以有类和接口,但是如果有类 必原创 2021-10-13 23:18:35 · 150 阅读 · 0 评论 -
自定义View和事件分发_分析理解
自定义view1 自定义viewAndroid 中需要自定义view的时候,先要判断是 view 还是viewgroup,如果是view则只需要重写onDraw方法就可以了,viewgroup的话则从onMeasure开始,第二步onlayout.onMeasure中通常第一步是通过MeasureSpec.getSize()和MeasureSpec.getMode() 获取控件的模式和长度,最后在通过setMeasuredDimension()设置viewgroup最后的的长和宽,如果继承的是已有的v原创 2021-10-09 17:41:40 · 189 阅读 · 0 评论 -
Okhttp3 - 笔记
okhttp3 的优点1 内部封装了连接池减少请求延迟2 对http2 协议进行了封装3 分发器4 拦截器5 相应缓存避免重复请求6 自动重定向okhttp3 使用流程 OkHttpClient client = new OkHttpClient(); //POST方式提交String MediaType mediaType = MediaType.parse("text/x-markdown; charset=utf-8"); Strin原创 2021-09-25 15:10:09 · 668 阅读 · 0 评论 -
android stuido 无法运行main方法
添加 如果运行还不成功 ,就选择第三个运行 ,然后在选择第一个就可以了原创 2021-05-15 09:56:15 · 448 阅读 · 0 评论 -
android弹出软键盘时,editText被遮挡一部分,五分之一左右的问题
一android:windowSoftInputMode=“stateAlwaysHidden|adjustResize”注意是 stateAlwaysHidden使用 stateVisible 测试时不起作用 ,不知道是不是就我这里不对二layout 根目录添加android:fitsSystemWindows="true"三getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 不能原创 2020-08-05 17:24:28 · 550 阅读 · 0 评论 -
2020年GitHub 上那些优秀Android开源库,这里是Top10!
作者:迪士尼在逃程序员链接:https://www.jianshu.com/p/1b9520f3ec34来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。No1. LiquidSwipe这是一个很棒的ViewPager库,它在浏览ViewPager的不同页面时,显示波浪的滑动动画,效果非常炫酷。该库的USP是触摸交互的。这意味着在视图中显示类似液体的显示过渡时,应考虑触摸事件。implementation ‘com.github.Chrisvin:LiquidSwip转载 2020-07-21 14:47:22 · 1084 阅读 · 0 评论 -
Android studio 减少应用大小,删除无用资源
中输入“unused resources”原创 2020-07-06 11:07:17 · 282 阅读 · 0 评论 -
PieChart属性
// 设置 pieChart 图表基本属性mChart.setUsePercentValues(false); //使用百分比显示mChart.getDescription().setEnabled(false); //设置pieChart图表的描述mChart.setBackgroundColor(Color.YELLOW); //设置pieChart图表背景色mChart.setExtraOffsets(5, 10, 60, 10); //设置转载 2020-05-27 09:46:35 · 2021 阅读 · 0 评论 -
MPAndroidChart LineChart折线图与曲线图切换
LineDataSet dataSet = new LineDataSet(entries, “Label”); // add entries to datasetdataSet.setColor(Color.parseColor("#AABCC6"));//线条颜色// dataSet.setCircleColor(Color.parseColor("#7d7d7d"));//圆点颜色dataSet.setDrawValues(false); /原创 2020-05-18 10:27:57 · 1048 阅读 · 0 评论 -
收集了一些常用的Android框架,记录一下。
AndroidAutoSize 今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案banner Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!okdownload 可靠,灵活,高性能以及强大的下载引擎。SmartRefreshLayout Android智能下拉刷新框架,支持越界回弹、越界拖动,...转载 2020-04-20 10:50:34 · 195 阅读 · 0 评论 -
android studio 通过Terminal安装 浏览器下载的apk
//1.通过命令 :cd /你的Android SDK/platform-tools 进入该目录下C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools2 将你的apk文件 放到 platform-tools 文件目录下3 打开Terminal 输入命令:adb install -r yyb.apk(你放在platf...原创 2020-04-01 11:29:20 · 836 阅读 · 0 评论 -
Android NFC功能 简单实现(个人笔记)
https://www.jianshu.com/p/cf36c214f2a8原创 2020-03-20 10:23:54 · 558 阅读 · 0 评论 -
测试视频地址
测试视频地址:http://api.m.mtime.cn/PageSubArea/TrailerList.api{“trailers”:[{“id”:75289,“movieName”:"《速度与激情:特别行动》曝全新中文预告",“coverImg”:“http://img5.mtime.cn/mg/2019/06/29/002009.16684021_120X90X4.jpg”,“movieI...转载 2020-02-07 13:35:36 · 615 阅读 · 0 评论 -
Activity 的 生命周期分析
Activity 的 生命周期分析activity 正常运行时activity 从onCreate 开始启动 顺序执行 onCreate-onStart-onResume ,进入activity 开始运行程序。在退出时 会先执行onPause-onStop activity退到后台,继续执行- onDestroy。 activity注销。从后台回复到正常前台可交互界面时 会先经过onResta原创 2016-08-05 12:46:22 · 334 阅读 · 0 评论 -
Activity的启动模式
activity的LaunchModeactivity的launchmode有四种模式,分别是standard,singleTop,singleTask,singleInstance。1.standrad 是正常模式,系统默认选项,一个任务栈可以有多个实例,每次新打开一个实例是都会重新new 一个新的实例。 2.singleTop 是栈顶复用模式,例如现在有4个activity ABCD 如果下原创 2016-08-06 18:18:54 · 321 阅读 · 0 评论 -
android handler与回调机制的结合运用
android 中在进行耗时操作时通常需要开启新的Thread,而在结束后可以通过handler发送消息进行主线程的更新。在新的Thread中如果需要进行大量逻辑处理就会书写大量的代码。所以可以在Thread中使用回调机制。定义包含回调函数的类 1.自定义接口 2.实现接口对象 3.为对象赋值 (在需要的调用的地方new接口对象实现接口) 4.回调接口 把数据传回需要的地方public原创 2016-11-23 11:37:20 · 2775 阅读 · 0 评论 -
android Property Animation动画相关知识点整理
View Animation补间动画 ImageView Image = (ImageView)findViewById(R.id.action_bar);Animation hyAtion=AnimationUtils.loadAnimation(this,R.anim.abc_fade_in);Image.startAnimation(hyAtion);2 . Drawable Anim原创 2016-11-23 16:00:33 · 308 阅读 · 0 评论 -
ListView下拉刷新SwipeRefreshLayout + 底部加载
1下拉刷新可以调用google官网定义的下拉控件SwipeRefreshLayout。1.第一步 添加布局 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe_ly" android:layout_width="match_parent" android:la原创 2016-12-07 15:10:09 · 621 阅读 · 0 评论 -
高德地图定位 地图比例缩放
高德地图通过Demo中的小篮点定位后地图比例都很小,想看多一些的地方只能通过手动点击进行选择,但在选择的时候可以通过定位+marker的模式定位 并设置比例大小 定位实现可看高德官方文档http://lbs.amap.com/api/android-location-sdk/locationsummary/设置地图比例 添加中心点 aMap.moveCamera(CameraUpdateFacto原创 2016-12-07 15:40:01 · 6685 阅读 · 0 评论 -
Android WebView开发问题及优化汇总
原文:http://www.pedant.cn/2014/09/10/webview-optimize-points/ http://blog.csdn.net/xyz_lmn/article/details/39473701 谢谢分享我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题。就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来。有些转载 2016-12-08 15:52:17 · 247 阅读 · 0 评论 -
Android View基础
1.View的位置主要由四个顶点来决定,top,left,right,bottom,其中top是左上角总坐标,left是左上角横坐标,right是右下角横坐标,bottom是右下角纵坐标。这四个是相对父布局来说的。(可以说左上角的坐标是(left,top) 右下角的坐标是(right bottom)) 2.View的宽 width=right-left,height = bottom-top,l原创 2016-08-15 12:49:51 · 374 阅读 · 0 评论 -
顶部状态栏透明和滑动渐变 api21以上
if (Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYO原创 2016-12-09 15:33:36 · 1170 阅读 · 0 评论 -
太用力的人跑不远
写在前面:有阶段的自己,会用蛮力去学习一些东西,就是这东西不管是否适合目前自己的知识体系, 觉得学了之后会更牛逼就去学,但是这样的东西往往学了记不住。 学习的过程越用力反而显得越吃力, 太吃力的事情,自然就无法有恒心, 这就是很多人会觉得自己做事总是无法持之以恒的原因。努力不应该是某种需要被时常觉知的东西,意志力是短期内会用完的精神能量。 真正坚持到最后的人靠的不是激情,而是恰到好处的喜欢和投入。转载 2016-12-19 11:40:49 · 233 阅读 · 0 评论 -
Android 2016新技术
016你需要了解Android有以下新兴的技术与框架,有些也许还不成熟,但是你应该去了解下,也许就是未来的方向。Kotlin 作为 Android 领域的 Swift,绝对让你如沐新风。抛弃沉重的 Java 语法,Kotlin 融入了很多现代编程语言的思想,作为开发者,接受新的语言,了解新语言的发展趋势,更有利于开阔你的思路和加深对语言的理解。 http://t.cn/R2DK0SLReact N转载 2016-12-19 11:46:00 · 208 阅读 · 0 评论 -
不是人人都懂得学习要点
学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。一.学习也是一种能力看到这个标题,有人会说:“学习,谁不会?”的确,学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候,什么也不知道,是一张真正的白纸,我们靠学习的本能,学会了走路、说话、穿衣服…后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里,我们掌握转载 2016-12-19 12:00:43 · 370 阅读 · 0 评论 -
一个三流学校程序员的奋斗史
文章是转载的,我不是一个毅力很强的人,总得一些激励人的文章来激励自己我也在一个三流的学校,在找有关考研的文章的时候看到这篇文章觉得不错,不敢独享,拿出来共勉……看完后我又一次明白,勤能补拙,一个人的成功,往往在于坚持没有挫折,不经历艰难的日子,就没有美好的明天……忘了是谁说的:当你感觉到艰难的时候,正是你在走上坡路的时候文章比较长,且写的比较早,专业术语也很多,但是我看了好几遍我的程序学习之路我上的转载 2016-12-19 12:10:37 · 699 阅读 · 1 评论 -
Random 随机获取 x 到 y 之间的值
1要生成1000到100之间的随机数,random.nextInt(1000)+100;注意这里是不包括1000的, 2而通过Math.random()返回一个0到1之间的double值。如果要生成1000到100之间的随机数,则Math.random()*(1000-100)+100;原创 2016-12-19 17:17:53 · 1050 阅读 · 0 评论 -
android适配不同分辨率的手机
Android中不同手机分辨率适配问题在项目开发的过程中,同一个布局对应不同的手机会显示出不同的效果。导致这个现象产生的原因是不同手机的分辨率不同。在android sdk提供的帮助文档中,我们可以看到各种手机的分辨率和对应的屏大小。QVGA (240x320),WQVGA400(240x400),WQVGA432 (240x432),HVGA (320x480),WVGA800 (480x800)转载 2017-01-10 15:10:29 · 773 阅读 · 0 评论 -
listView的 Adapter优化
1, ListView 的Adapter 继承 BaseAdapter 2,通过getView()中的 holder 与convertView 进行布局的重用 class TwosListAdapter extends BaseAdapter{ private List<String> list ; public TwosListAdapter(List<St原创 2017-01-10 15:16:28 · 266 阅读 · 0 评论