自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 判断文件的编码格式,音视频开发工程师面试题

* JChardetFacade、ASCIIDetector、UnicodeDetector。* detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则返回探测到的* 字符集编码。使用需要用到三个第三方JAR包:antlr.jar、chardet.jar和cpdetector.jar* cpDetector是基于统计学原理的,不保证完全正确。*/CodepageDetectorProxy detector&n..

2022-03-06 18:35:48 192

原创 使用ARouter进行Android模块化开发,详解系列文章

@Overridepublic void process(Postcard postcard, InterceptorCallback callback) {…// No problem! hand over control to the frameworkcallback.onContinue(postcard);// Interrupt routing process// callback.onInterrupt(new RuntimeException(“Something excepti

2022-03-06 18:31:32 378

原创 从零开始学数据结构和算法(七) huffman 树与 AVL 树,头条android面试节奏

}root = list.get(0);return list.get(0);}public void showHuffman(TreeNode root) {LinkedList list = new LinkedList<>();list.offer(root);//入队while (!list.isEmpty()) {TreeNode node = list.pop();System.out.println(node.data);if (node.leftChild !

2022-03-06 18:28:42 114

原创 女程序员的逆袭之路, 三面通过 15K,HR 说你只值 10K,html5移动开发即学即用

2.RecyclerView与ListView的对比,缓存策略,优缺点3.Activity与Fragment的生命周期4.Fragment add与replace的区别,分别对Fragment的生命周期影响5.事件的分发机制 提到了责任链模式,就接着问责任链模式的优缺点6.除了责任链模式还了解哪些设计模式,说了观察者模式,单例模式,工厂模式7.观察者模式的优缺点,什么情景下使用?使用过哪些用观察者模式的框架?8.RxJava了解吗? 不了解9.Gradle文件了解吗? 说不太了解就没往下问1

2022-03-05 21:06:20 137

原创 大学SQL考试复习题,作为Android程序员

10.     在SELECT语句中,可以嵌套子查询的语句是(  )。(A) GROUP BY  (B) HAVING  © ORDER BY   (D) FROM11.     下列关于INSERT语句的说法中正确的是(  )。(A) 

2022-03-05 21:03:30 1286

原创 基于 Kotlin + Netty 实现一个简单的 TCP 自定义协议,android开发环境搭建教程

网络协议结构如下±-------------±--------------±-----------±--------------±----------±---------+| 魔数(4) | version(1) |序列化方式(1) | command(1) |数据长度(4) |数据(n) |±-------------±--------------±-----------±--------------±----------±---------+魔数:4字节,本项目

2022-03-05 21:00:39 392

原创 又来一个库,WebView,RecyclerView-多布局连贯滑动,Android小技巧

mScrollRange -= getMeasuredHeight() - getPaddingTop() - getPaddingBottom();}/*** 返回所有的非GONE子View*/private List getNonGoneChildren() {List children = new ArrayList<>();int&nb

2022-03-05 20:54:58 3465

原创 Leetcode面T10(1-9)数组,成功从小公司跳槽

输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/group-anagrams-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请.

2022-03-04 20:28:10 64

原创 LeakCanary源码学习一:常见内存泄漏分析,【高级Android架构师系统学习

来源:BAT大牛 带你深度剖析Android 10大开源框架  第五章相关文章:=====性能优化工具(九)-LeakCanary(简书,2w阅读量)性能优化总结2:leakcanary的使用(简洁易懂)(6k阅读量)Android 内存泄漏分析利器——leakcanary(1.4w阅读量)Android性能优化之内存优化(自己的,详细介绍了内存泄漏情况及解决方案)1、单例造成的内存泄漏===========错误写法:public class SingletonContext.

2022-03-04 20:26:45 66

原创 Kotlin的自定义View,实现带弧形的进度条,面试官6个灵魂拷问

progressColor =getColor(R.styleable.CircularArcProgressView_capv_progress_color, Color.RED)progressTextColor =getColor(R.styleable.CircularArcProgressView_capv_progress_text_color,Color.WHITE)getFloat(R.styleable.CircularArcProgressView_capv_percent

2022-03-04 20:25:20 1681

原创 Kotlin在Android开发中那些让人舒适的地方,flutter项目实战

val str = “hello”// str length : 5print(“KaTeX parse error: Expected '}', got 'EOF' at end of input: str length: {str.length}”)/ 空安全 /在使用Java开发Android的过程中,避免不了大量的空安全判定代码,介于Kotlin要很好的兼容Java,在这个问题上Kotlin设计一整套新的类型系统(这里不作研究)来完善优化它。所有的类型都分为可空和不可空类型,并且针对不可

2022-03-04 20:22:29 105

原创 Kotlin 插件的落幕,ViewBinding 的崛起,android嵌入式开发教程

// Viewbindingval binding: ActivityMainBinding = ActivityMainBinding.inflate(layoutInflater)// DataBinding// val binding: ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main)with(binding){textView.setText(“Binding”)}}}

2022-03-04 20:21:04 244

原创 Kotlin Multiplatform Mobile 的三模块问题,网易严选Android开发三面面经

值得一提的是,“作者”和“书”模块依赖于“身份验证”模块来服务经过身份验证的用户实体,以便后端可以返回个性化响应 —— 作家和书籍。实际问题这种方法在 Android 应用程序中效果很好,但是一旦将其应用于导入了 KMP 驱动的框架的 iOS 应用程序中,就会产生繁琐的问题。实际的问题是,在 iOS 模块的编译过程中,Kotlin/Native 插件包含了当前已编译的模块中全部的依赖关系,因此它是内置的。此外,为防止冲突,它会在所有显式的依赖项名的前面加上对应的库名。这对于单个模块或一组独立模块非

2022-03-04 20:19:40 1500

原创 Koltin35,安卓内存优化管理器

}GoodsTypeRvAdapter.kt商品左侧主界面的RecycleView,其中使用FragmentActivity?来作为androidx下面的Contextpackage com.example.takeout.ui.adapterimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.TextViewimport and

2022-03-04 20:18:15 183

原创 js创建类,android系统工程师面试题

className: “bootbox-sm”});}/**会话框标题信息点确认后执行的回调函数*/static dialog(title, message, callback) {bootbox.dialog({title: title,message: message,// 退出dialog时的回调函数,包括用户使用ESC键及点击关闭onEscape: function() {},// 是否显示此dialog,默认trueshow: true,//

2022-03-04 20:16:49 1882

原创 Jetpack Compose for Desktop实现复杂的自动布局网格,从零开始系统化学Android

val category: String,val state: String,)@Composablefun GridView(dataList:MutableList) {//对数据按类别和id排序dataList.sortWith(compareBy({it.category},{it.id}))/**区间宽度,随窗口尺寸变化更新*/var districtWidth by remember { mutableStateOf(0f) }/**每个方框的尺寸*/val

2022-03-04 20:15:25 241

原创 {Android}一行代码起飞,我的移动开发春季历程

// For a simple image list:@Override public View getView(int position, View recycled, ViewGroup container) {final ImageView myImageView;if (recycled == null) {myImageView = (ImageView) inflater.inflate(R.layout.my_image_view, container, false);} else

2022-03-03 00:21:08 82

原创 weex:网络请求和轮播图,android开发者文档隐私权限

data() {return {lists: [1, 2, 3, 4, 5]};},created() {let url = “http://www.jspang.com/DemoApi/newsApi.php”;let body= toParams({username: this.name,password: MD5(this.pwd)});this.getNews(url,body,res => {if (!res.ok) {modal.toast({ messag

2022-03-03 00:14:02 677

原创 viewpager的一个错误,Android知识体系大纲

at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)at android.view.View.measure(View.java:20171)at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6330)at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:146

2022-03-03 00:12:37 211

原创 View 事件分发机制,看这一篇就够了,android开发实战我的云音乐

几个主要方法我们知道,View 的事件分发机制主要涉及到以下几个方法dispatchTouchEvent ,这个方法主要是用来分发事件的onInterceptTouchEvent,这个方法主要是用来拦截事件的(需要注意的是 ViewGroup 才有这个方法,View 没有 onInterceptTouchEvent 这个方法)onTouchEvent 这个方法主要是用来处理事件的requestDisallowInterceptTouchEvent(true),这个方法能够影响父View是否拦截事

2022-03-03 00:09:47 115

原创 TT语音线程优化,一线互联网架构师设计思想解读开源框架

for (e in es) {if (e.className == “dalvik.system.VMStack” && e.methodName == “getThreadStackTrace”) {isCanAppendLog = false}if (e.className == “me.weishu.epic.art.entry.Entry” && e.methodName == “referenceBridge”) {isCanAppendLog = tru

2022-03-03 00:08:22 397

原创 Kotlin 和 Flutter 对于开发者究竟意味着什么?,嵌入式音视频方向

并且,目前笔者从各种渠道了解到,大部分的公司都已经使用 Kotlin 作为首选开发语言,而且积极效果反馈明显。看完移动端,我们再看服务端,不同于 Java 在后端的良好表现。尽管就 Kotlin 来说,除了前文所述的优点之外,协程是一大吸引,但 Kotlin 在中后台开发人员中的流行度可能并不会像在 Android 上这么顺利,究其原因,主要还是:缺乏官方权威或大公司背书来提振威望;相关的框架需要进一步丰富;CSDN 编者注:对于这一点,在 CSDN《2018 – 2019 中国开发者调查报告》中,

2022-03-01 14:20:43 168

原创 JWT实现分布式Session?行不?,android开发者指南

3、Signature三者组合在一起Header.Payload.Signature案例看上去是不是满乱,我们来依次看下里面的结构。Header这个是JWT第一段数据,表示头部信息,主要的作用是描述JWT的元数据,上面的案例就是:{alg: “HS256”,typ: “JWT”}1、alg属性表示签名的算法,默认算法为HS256,可以自行别的算法。2、typ属性表示这个令牌的类型,JWT令牌就为JWT。上面的JSON数据会通过Base64算法进行编码而成,看工具图Pay.

2022-03-01 14:19:17 85

原创 JetPack初体验,掌握了这些Android高级工程师必备知识

Room: 官方的ORM库(个人认为比GreenDao好用)ViewModel/LiveData:生命周期管理工具,自此Android才真正的应用上了MVVM(BTW,DataBinding也归到了JetPack里)在2018年,AndroidX横空出世,并且从1开始,意图取代经常自己打自己脸的Support Lib。一张图来看看Google对JetPack有多看重那JetPack到底是啥呢?Jetpack is a suite of libraries, tools, and guidance

2022-03-01 14:17:52 184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除