Android
liweicai137
这个作者很懒,什么都没留下…
展开
-
为什么要查找oom
oom 是怎么造成的?1.图片加载的时候,使用内存过当:内存泄漏也会造成oom2.解决方法:使用工具检测oomUI 适配怎么做? 相对布局,jetpack,.根据不同的屏幕使用不同图片资源,autolayout,限定符,dp,ConstraintLayout,为什么做UI适配: 不适配,用户体验不好,影响用户使用 分机型: oppo,vivo,华为 系统方方正正的就是正常,不正常,水滴,刘海不按规则。...原创 2020-08-12 14:38:39 · 200 阅读 · 0 评论 -
存储解密和优化
存储解密和优化 1.文件存储 2.sp存储 3.ContentProvider 4.网络存储 5.SQLite存储 存储的方式选择: 数据量,数据结构,查询快慢 Ormlite LitePal GreenDao DBflow 数据库存储框架 框架实现原理: 1.关系映射型 ( 将mode 映射成表) 优点:方便快捷 缺点...原创 2020-08-12 10:29:41 · 113 阅读 · 0 评论 -
Android 插件化开发 代码范例
1.以下是加载插件的代码 ,package com.example.plugin_core;import android.content.Context;import android.content.Intent;import android.content.pm.ActivityInfo;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.con.原创 2020-08-12 10:12:52 · 252 阅读 · 0 评论 -
Android 优化
一.启动优化 1.主题不启用透明背景(不然会有透明卡顿),设置背景图。 2.Appllication 中起启动服务来启动优化,保证onCreate()方法快速启动: 3.尽量使用热启动和温启动(8.0之前应用保活,9.0统统枪毙),和手机厂商谈才能做到,以后就是用dex分包,插件化,热启动。Application启动 LuancherActivity 》 AMS(ActivityManganerServices) 》 Zy...原创 2020-07-20 17:20:21 · 327 阅读 · 0 评论 -
Serializable 和 Parcelable 区别
序列化详细解释: 将对象排列成一组字节序列然后进行存储的过程反序列化详细解释: 将存储在内存或者硬盘的字节序列变成对象的过程Java对象与Java对象序列化的区别Java对象存在的前提必须在JVM运行期间存在,如果想在JVM非运行的情况下或者在其他机器JVM上获取指定Java对象,在现有Java对象的机制下都不可能完成。与Java对象不同的是,如果对Java对象执行序列化操作,因为原理是把Java对象信息保存到存储媒介,所以可以在以上Java...原创 2020-06-30 16:59:15 · 215 阅读 · 0 评论 -
Android 绘制引擎Skia(图片压缩) Futller和RN hbiry的原理
Skia图像处理引擎 绘制流程见下面图1 备注:fultter 基于Skia引擎进行开发 ,RN将内容转换成TextView等控件,最后有Skia引擎进行开发 Skia 引擎是基于JPEG 的封装 (JPEG 是最底层引擎,跨平台引擎) Skia 对Java调用很友好,但会损失性能,但JPEG 存在这种功能(微信压缩(哈夫曼算法进行压缩),使用的是JPEG的压缩引擎) ...原创 2020-06-30 16:39:20 · 667 阅读 · 0 评论 -
kotlin 的静态和单列模式
静态参考:https://www.jianshu.com/p/14db81e1576ahttps://www.jianshu.com/p/e8752c880088单列模式参考:https://www.jianshu.com/p/5797b3d0ebd0静态一、 object关键字object 关键字可以表达两种含义:一种是对象表达式,另一种是 对象声明。1、对象表达式继承一个匿名对象val textView = findViewById(R.id.tv)textView.setOnClic原创 2020-06-24 15:38:34 · 521 阅读 · 0 评论 -
卡号显示 前4位和后四位显示,中间几位是*号 正则表达式
// {}里面的数字可以用来指定前后缀的长度 String regex = "(\\w{4})(.*)(\\w{4})"; Matcher m = Pattern.compile(regex).matcher(str); if (m.find()) { String rep = m.group(2);原创 2017-03-29 13:39:18 · 7946 阅读 · 0 评论 -
AsyncHttpClient 提交数组和 提交 Map集合
提交数组形式:RequestParams rpParams=new RequestParams(); rpParams.put(“value[i]”, jsonArray.getString(i));以Map形式进行提交:RequestParams params = new RequestParams();params.put("p[name]", "111");p原创 2017-04-06 16:36:08 · 1474 阅读 · 0 评论 -
Android Activity onPause ,onStop ,onDestroy方法不一定执行
由于机型的关系,当你直接从home界面杀死应用,Activity的onPause,onStop ,onDestroy方法可能不会执行,如三星有的手机就会直接杀死进程,导致onPause等方法不执行。原创 2017-05-01 21:55:19 · 5510 阅读 · 0 评论 -
类似京东筛选 点击小按钮打对勾,没有点击取消
代码如下:package widgets;import com.sensu.automall.R;import com.sensu.automall.utils.MassageUtils;import android.content.Context;import android.content.res.Resources;import android.gra原创 2017-05-26 10:38:20 · 463 阅读 · 0 评论 -
APP 启动白屏 解决 4.4 onstart 不运行 的问题
以上 可以了,网上 还有设置windowIsTranslucent 为true ,入下:但是 第二种方式 在4.4系统一下 运行,onReast方法不执行。 第一种方式要注意,这样相当于每个界面Window设置了Backgroung, 所以你要单独 设置Activity的Theme原创 2017-01-17 15:49:59 · 380 阅读 · 0 评论 -
Android 抓取崩溃日志
package com.gotye.vshow.util;import android.os.Environment;import android.util.Log;import java.io.File;public class CrashApphandler extends CrashAppLog { public static CrashApphandler mCr原创 2017-07-18 14:44:09 · 478 阅读 · 0 评论 -
选择图片上传,9张不一样的图片的删除和记录
package com.gotye.vshow.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Paint.Style;import android.util.AttributeSet;im原创 2017-09-14 16:28:54 · 706 阅读 · 0 评论 -
Android XML 中schema和自定义属性的关系
在XML文件中,写标签的规则遵循schema规则,里面的标签遵循xml默认的名称空间,名称空间都绑定 .xsd文件,这些文件时xml文件的约束文件,当我们要自定义属性,在attr文件中进行声明,Android会自动为我们生成.xsd文件,而.xsd文件绑定的名称空间为项目的包名,而且在每一个标签下,只要是包名下名称空间的属性都能够编写,也就是自定义属性适用于每一个控件,这个是在写约束控件写法的.x原创 2017-08-29 23:39:48 · 978 阅读 · 0 评论 -
音频的一些词语解释
声音是由震动产生的,震动会使空气(介质)震动发出声音。空气的震动产生的播分为两种,横波和纵波: 入下图所示:产生播之后:有一些关键的名词解释如下: 频率:频率就是指1秒中通过的波形个数,具体什么波形没有规定,因此就数值而言,他们的频率一样。频谱中的频率就是周期的倒数。原创 2017-09-21 10:58:27 · 482 阅读 · 0 评论 -
Android 背景图片轮播
package com.example.test;import android.animation.ValueAnimator;import android.annotation.TargetApi;import android.content.Context;import android.graphics.Canvas;import android.graphics.原创 2017-10-30 23:24:33 · 709 阅读 · 0 评论 -
Android 可滚动圆形进度条 滑块和进度在进度条上面跟着滚动
package com.example.test;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;原创 2017-10-15 21:33:53 · 2689 阅读 · 1 评论 -
Android 用网络图片做帧动画
package com.zerofield.netanimation;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;im原创 2017-12-14 15:33:58 · 1144 阅读 · 0 评论 -
获取通过反射获取泛型对象
public static <T> T injectT(Object object, int position){ try { return ((Class<T>) ((ParameterizedType) (object.getClass().getGenericSuperclass())).getActualTypeArguments...原创 2018-09-29 17:40:26 · 1348 阅读 · 0 评论 -
Android 屏幕视频
屏幕 适配 https://www.jianshu.com/p/97b107308923原创 2018-09-30 09:37:37 · 338 阅读 · 0 评论 -
PullToRefreshGridView添加头部, GridView添加头部head的PullToRefresh
package com.handmark.pulltorefresh.library;import android.annotation.TargetApi;import android.content.Context;import android.os.Build.VERSION;import android.os.Build.VERSION_CODES;import原创 2016-04-18 11:51:30 · 1272 阅读 · 0 评论 -
getMeasuredWidth()和getWidth() 的区别
getMeasuredWidth() 和 getWidth()方法的区别,getMeasurewidth(),测量宽度,通过Onmeasure测量出来的宽度,而getWidth() 是通过onLayout计算出来,子View在父View中真正显示的宽度, 高度也是一样getMeasureHeight()和getHeight()原创 2017-02-24 18:49:11 · 371 阅读 · 0 评论 -
Android for循环请求如何得到顺序的结果
1.可以采用方法,代码如下: 以上方法是运用纯Java 来运行线程得到 返回的结果,运用的Java 面向对象的原理:方法带着参数走,原创 2017-01-13 18:04:07 · 3687 阅读 · 0 评论 -
绑定服务 ServiceConnection 没有被回调 TabHost中
各位用tabactivity和service的小朋友,一定注意咯在Android开发的过程中,我们很有可能会使用到TabActivity来进行开发,而如果你的程序中需要针对TabActivity的 TabHost中的每一个Activity绑定一个Service,通常我们的做法是在对应Tab页的Activity的onCreate()方法中进行 bind操作,但是通过实践表明这个方法是无法达到绑定原创 2016-06-16 14:13:40 · 2689 阅读 · 0 评论 -
Android 有用但是不常用到的类
转载 点击打开链接原创 2016-06-11 21:50:24 · 250 阅读 · 0 评论 -
Android 竖直滚送TextView
布局代码 android:layout_width="wrap_content" android:layout_height="wrap_content" > android:id="@+id/text_view" android:layout_width="fill_parent"原创 2016-05-23 13:57:28 · 347 阅读 · 0 评论 -
Android 开发艺术探究V第三章之view的事件分发机制
在介绍点击事件的传递机制,首先我们要分析的对象就是MOtionEvent,即点击事件,(当点击屏幕时由硬件传递过来,关于MotionEvent在View的基础知识中做了介绍),所谓的点击事件的分发就是MotionEvent的分发过程。即当一个MoTionEvent产生以后,系统需要把这个事件具体传递给一个具体的View,而这个传递过程就是分发过程,点击事件传递过程有三个很重要的方法,下面先来介绍这原创 2016-05-21 09:50:22 · 3707 阅读 · 0 评论 -
TextView 中 android:maxEms="" ,maxLine="",maxlenght="";的区别
android:maxEms="3" 表示一行显示3个字,如果加上android:singleLine="true" 和 android:ellipsize="end" 就表示 最多显示一行,一行超过三个字 将会有省略号来表示 maxLine=" "最多显示多少行 和android:singleLine同时存在的情况表示 android:singleLine 为主 , m原创 2016-06-03 09:39:40 · 2990 阅读 · 0 评论 -
Android 开发艺术与探究 第三章 View的事件体系之View的基础知识
1.View的基础知识: 基础知识有view的位置参数,MotionEvent和TouchSlop对象,VelocityTracker,GestureDetector和Scroller对象,通过这些这些东西我们更好的理解View。 1. View的位置参数 V原创 2016-04-06 20:07:09 · 436 阅读 · 0 评论 -
Android 开发艺术与探究 第一章 Activity 的生命周期和启动模式
第一章Activity的生命周期和启动模式 正常情况下,Activity会经历如下生命周期。 (1)onCreate, Activity正在被创建,在这个方法我么可以做一下初始化工作。setContentView去加载布局,初始化Activity所需数据等。原创 2016-04-04 11:00:23 · 686 阅读 · 0 评论 -
关于java 值传递
java值传递 相信大家都知道,java是值传递,而C语言是引用传递(所谓的引用传递就是传递地址,C语言可以传递指针,也就是所谓的地址) C语言因为有指针的存在,可以进行值传递,也可以进行引用传递。 重点介绍java: java如果是面试,问什么传递,答值传递肯定是正确的原创 2016-03-10 12:59:02 · 343 阅读 · 0 评论 -
viewpage setOnPageChangeListener 监听的详解
在setOnPageChangeListener 中有三个方法/*** onPageSelected(int arg0): 此方法是页面跳转完后得到调用,* arg0是你当前选中的页面的Position(位置编号)。*/ public void onPageSelected(int arg0) {}/**** onPageScrol原创 2016-03-30 16:32:02 · 1329 阅读 · 0 评论 -
SystemClock 中方法的意义
1.SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间 2.SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内) 3.SystemClock.uptimeMillis(); // 从开机到现在的毫秒书(手机睡眠的时间不包括在内) 4.System原创 2016-06-16 19:39:56 · 1422 阅读 · 0 评论 -
Android getChildmeasureSpec 方法的分析
public static int getChildMeasureSpec(int spec, int padding, int childDimension) { int specMode = MeasureSpec.getMode(spec); int specSize = MeasureSpec.getSize(spec); int size转载 2016-07-04 10:25:58 · 725 阅读 · 0 评论 -
关于PopupWindow的showAsDropDown()和showAtLocation()使用方式,popupWindow的各种弹出
package com.example.lainanzhou.popupwindoewlocation;import android.app.Activity;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.util.Log;import android.vi转载 2016-12-15 14:21:38 · 1325 阅读 · 0 评论 -
Shape 画角的原理图
1.shape 画圆角的 原理, 在做角平分线之后,然后让角平分线 上选择所设定的角度 进行画弧,画出来的弧度 就是 我们所看到的角度,所以说,我们画弧度,只有当时正方形,画90度时才会 是圆。才能画出圆 如下图:原创 2016-12-15 09:17:05 · 535 阅读 · 0 评论 -
TCP,UDP,HTTP,HTTPS协议的区别理解
首先大家得理解 协议两个字是什么意思, 协议就是定义的规则,HTTP协议,就是名字叫HTTP的一种规则,HTTPS协议,名字叫HTTPS的一种规则,TCP协议就是名字叫TCP的规则,UDP协议就是名字叫UDP的一种规则应该都知道 网络发送分为以下几层应用层与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序原创 2016-12-07 17:28:15 · 6037 阅读 · 0 评论 -
面试题
http://www.jianshu.com/p/9c0e28528e85原创 2016-12-13 10:11:51 · 219 阅读 · 0 评论 -
每项多少个固定对其 流式布局 改编
1. 正常的流式布局package widgets;import java.util.ArrayList;import java.util.HashMap;import com.sensu.automall.R;import com.sensu.automall.mode.FlowModel;import com.sensu.automall.utils.Ma原创 2016-12-12 15:44:33 · 289 阅读 · 0 评论