![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android开发
文章平均质量分 84
~执着~❥
android开发,喜欢钻研新知识
展开
-
Android studio上传库到mavenCentral
前言本编文章将较大家如何上传库到mavenCenter仓库如果你是一个第三方库开发者,且之前没有上传库到 MavenCentral 经验的话,本文可以助你早日上传库到 MavenCentral。一、Sonatype 账号1、注册 Sonatype在上传库到 MavenCentral 之前,需要先注册登录 Sonatype,访问 https://issues.sonatype.org 链接根据提示进行账户注册,注册成功后再登录 Sonatype。注意:注册时填写的邮箱很重要,建议是你常用的邮箱,原创 2022-04-02 14:38:30 · 3031 阅读 · 4 评论 -
Android开发工程师面试题汇总(持续更新...)
1.activity的四种启动模式和应用场景1.standard标准模式:每次创建一个activity都会重新创建一个新的实例,不管这个实例是否已经存在。2.singleTop栈顶复用模式:如果activity已经位于任务栈的栈顶,那么此activity不会被重新创建,同时会调用onNewIntent方法,如果activity实例已经存在但不位于栈顶,那么activity仍然会被重新创建。3...原创 2020-04-20 10:16:35 · 969 阅读 · 0 评论 -
Android高级开发工程师面试系列-线程
题目一:如何停止一个线程?答:根据源码可知线程停止方法stop已经被废弃,所以不能直接简单的停止线程。问题延伸1:stop方法为什么被废弃答:因为存在线程安全问题,多线程为了解决共享资源抢占的问题,使用了锁的概念,避免资源不同步,但是正是因为此原因,stop方法却会带来更大的麻烦,它会丢弃所有的锁,导致原子逻辑受损。假如一个线程正在执行:synchronized void { x = 3; ...原创 2020-03-18 10:49:49 · 133 阅读 · 0 评论 -
Android高级开发工程师面试系列-如何对图片进行缓存?
面试题:如何对图片进行缓存?题目剖析:1.网络、磁盘,内存缓存2.缓存算法分析3.以熟悉的框架为例分析它的缓存机制4.要有验证算法效果的意识一.图片加载过程先从内存中读取,如果没有从磁盘中读取,如果没有从网络获取显示二.缓存算法分析设计缓存算法,需要考虑以下几点:1.哪些应该保存?获取成本,缓存成本,缓存的价值首先看获取的成本高不高,获取成本高,缓存就非常值,其次看缓存成...原创 2020-03-18 10:47:05 · 156 阅读 · 0 评论 -
Android常见内存泄漏优化及解决方案
一.什么是内存泄漏?如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这种情况就是内存泄漏。在 Android 开发中,一些不好的编程习惯会导致我们的开发的 app 存在内存泄露的情况。下面介绍一些在 Android 开发中常见的内存泄露场景及优化方案。1. 单例导致内存泄漏单例模式在 ...原创 2019-04-04 17:23:37 · 273 阅读 · 0 评论 -
IOC注解实现流程,实现butterknife的注解功能
目前市场上比较火的Android注解框架有butterknife,dagger等,IOC的核心是解耦,修改耦合对象时不影响另外一个对象,降低模块之间的关联。IOC注解的优缺点:1.代码量少,加速开发2.产生性能消耗开发过程中,经常会使用findviewById的方式去实例化一个控件的id,比如获取一个Button的idButton btn = findviewById(R.id.btn);...原创 2019-03-25 14:17:36 · 128 阅读 · 0 评论 -
Android实现绑定微信公众号,获取相对公众号的唯一openId
Android绑定微信公众号。获取相对公众号的唯一openId注意:为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID,可以通过Union...原创 2019-03-15 09:37:20 · 2362 阅读 · 0 评论 -
java实现Android一键打包,秒秒钟生成上百个渠道包
要实现java一键生成渠道包功能,事先我们需要做好准备工作,大概有以下3点1.准备好所以需要生成的渠道号放在excel文档中2.需要下载两个jar包,commons-compress-1.16.1.jar和 jxl.jar3.得准备你需要生成渠道包的apk,也就是说你需要在你的Android开发工具中先打一个包,然后代码会根据这个包生成不同的渠道包注:这些资料我都将在文章结尾给出,好废话...原创 2018-09-28 11:23:57 · 4543 阅读 · 0 评论 -
AS生成.so文件并在其它项目中进行引用,调用里面的方法
最近公司要求开发时把秘钥存放在的。所以文件中已确保秘钥的安全性,提高反编译的成本,这期间有一些坑,还好都解决了,现在分享给大家,希望大家能够少走弯路。主要分为以下三部分: 一:配置NDK环境 1.下载NDK,并配置,我的放在D盘,然后在AS中进行配置! 2.别忘了配置环境变量,否则后面进行NDK建造操作时,会报改指令不存在,复制NDK安装路径,添加到环境变量路径变量后面。 注:NDK配置如...原创 2018-07-18 12:51:36 · 2181 阅读 · 0 评论 -
解决异常android.view.InflateException: Binary XML file line #95: Error inflating class(out of memory)
异常记录: 异常出现情景(三星手机出现几率特别大):打开一个activity,这个activity只用来播放一个ViewPager的轮播动画(一般会在app首次启动时)。轮播到最后一张时,关掉activity(finish)。开第二的activity,在加载LayoutInflate.from(context).inflate()时会出现android.view.InflateException:原创 2017-03-27 11:29:30 · 1182 阅读 · 0 评论 -
Android Studio使用svn配置忽略文件和解决提交时一直performing的问题
一.配置忽略文件 1.方法一: 配置忽略文件,在file-settings-version Control-ignored Files,然后如图所示依次添加以下忽略文件图1.1.1:需要添加的忽略文件重点内容图1.1.2:添加忽略文件的步骤2.方法二 但是有时候根据方法一配置忽略文件并不能成功,所有我们还可以用方法二,如下: 在你的项目中新建.gitignore忽略文件,鼠标右击项目点击ne原创 2017-01-19 17:48:20 · 7210 阅读 · 0 评论 -
自定义可滑动的tab选项卡,可切换选项卡样式(下划线,仿小米三角形,方形背景)
下载demo链接:http://download.csdn.net/detail/qq_20489601/9704356 由于在项目开发过程中经常使用到viewPager+fragment实现选项卡的切换功能,每次用的时候都要在activity中重新写一遍相同的代码,所以在空闲时间,我自己自定义了一个各种样式的可滑动的选项卡控件,在实际项目中使用非常方便,下面是此控件的主要代码:1.要实原创 2016-12-07 14:25:23 · 3285 阅读 · 0 评论 -
带有删除按钮,自动补全邮箱后缀的自定义EditText
package com.example.autocompletetextview;import android.content.Context; import android.graphics.drawable.Drawable; import android.text.Editable; import android.text.TextWatcher; import android.uti原创 2016-05-04 15:17:49 · 730 阅读 · 0 评论