Android常用图片加载库介绍及对比

前言 图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍几种开发中主流的图片加载框架&以及他们之间的对比优缺点。 Android主流图片加载库 Picasso Glide Fresco 介绍& 对比 1.Picasso Picasso中文翻译为’毕加索’,由Square公司开源的一个适用于Android的强大图像下载和缓存库. 功能介绍 图片的异步加载(最基础功能) 使用最
分类: 其他 发布时间: 04-12 23:17 阅读次数: 0

2019 年 Android 面试题汇总

###1.跨进程通信的几种方式 Intent,比如拨打电话 ContentProvider 数据库存储数据 Broadcast 广播通信 AIDL通信,通过接口共享数据 ###2.wait和sleep 的区别 wait是Object的方法,wait是对象锁,锁定方法不让继续执行,当执行notify方法后就会继续执行,sellp是Thread的方法,sellp是使线程睡眠,让出cpu,结束后自动继续执行 ###3.String,StringBuffer,StringBuilder的区别 Stri
分类: 其他 发布时间: 04-12 23:17 阅读次数: 0

Android进阶知识:ThreadLocal

1、ThreadLocal是什么? ThreadLocal是一个线程内部数据存储类,通过他可以在指定的线程中存储数据。存储后,只能在指定的线程中获取到存储的数据,对其他线程来说无法获取到数据。 2、ThreadLocal的使用场景 日常使用场景不多,当某些数据是以线程为作用域并且不同线程具有不同的数据副本的时候,可以考虑使用ThreadLocal。 Android源码的Lopper、ActivityThread以及AMS中都用到了ThreadLocal。 3、ThreadLocal的使用示例
分类: 其他 发布时间: 04-12 23:17 阅读次数: 0

Android程序员接下来的路该如何走?

随着“5G”(第五代移动通信技术)商用进程越来越快,各个芯片和终端厂商们都已经开始布局准备,想必智能手机会是消费者最先能够接触到5G的重要终端,而和其相辅相生的移动互联网也势必会有新的发展。 但是和行业本身的发展不相称的是, Android 开发者的市场需求仿佛处于寒冬。最直观的现象就是,工作没有那么好找了。 2018年底开始,不管从是官方的公告或是同事午餐间隙的聊天里,都透露着一个信息:资本寒冬到来了。虽然近段时间有一些股市和币市的好消息,但是各家公司大面积裁员的趋势仍然存在。互联网整体市场
分类: 其他 发布时间: 04-12 23:16 阅读次数: 0

对于 Android 业务开发的一些理解总结

关于 PopupWindow ,很多博客有谈到利用 Builder 设计模式的链式写法,以下是我项目中的类似写法 /** * 显示选择性别 */ private void showGenderPopWindow() { if (null == genderPopupWindow) { CommonPop.Builder builder = new CommonPop.Builder(BundledTravelCardAct
分类: 其他 发布时间: 04-12 23:16 阅读次数: 0

程序员的难题:知识学了就忘怎么办?

正文共:1556字 不多,耐心读完吧! 对于温故知新这一块,我是想用它来着重强调我们在自学中遇到的一个 大问题,那就是“学了就忘”,我相信这是每个自学者都会遇到的一个大问题,而且很多人还不知道如何解决,或许说有很多人没有思考过这个问题产生的原因! 当然当你看完了这篇文章,我想你以后再也不需要为这个问题困扰了,我将给出产生这个问题的原因以及应对的方法,你只需要照着做就可以了。 首先我给出出现这种情况的原因,然后再逐一进行说明: 知识没有用起来 没有及时复习 只有输入没有输出 其实产生“学了就忘”
分类: 其他 发布时间: 04-12 23:16 阅读次数: 0

如何造好轮子?编写 Android Library 的最佳实践

1写在前面 一直以来,技术圈里面只要涉及 Android Library 的文章,几乎都在讲如何发布到 Maven/Jcenter,却很少见到有文章来指导大家如何编写一个规范又好用的 Android Library。 这几年 Android 各式各样的开源库层出不穷,国内的很多开发者都慷慨地将自己的一些成果做成开源库发布出去,然而当我们兴致盎然地想去试用一下这些库的时候,却时常会遇到“引用”“依赖”“冲突”“API 调用”等各种问题,这其中有很多问题,其实是库的作者本身造成的。 魅族的联运 S
分类: 其他 发布时间: 04-12 23:15 阅读次数: 0

要想进阶?先导源码

关于阅读源码,本号之前推送过一篇非常详尽的文章教大家如何方便的阅读framework源码: grepcode都无法访问了,如何更好的阅读源码 大致为在线查看: http://androidxref.com/ https://www.androidos.net.cn/sourcecode 替换adk中android.jar直接在as中查看: https://github.com/anggrayudi/android-hidden-api 直接下载framework代码,配合一些工具查看 http
分类: 其他 发布时间: 04-12 23:15 阅读次数: 0

实现 Android TextView 文字轮播效果

啥叫文字轮播,不废话看图: 这是我们 app 项目中常常遇到的需求了,一般大家都是找找别人写好的第三方控件来用的,我也是这样。但是随着时间长河的流逝,我们也必须相应的成长, 文字轮播这种常见的东西可是不能错过的 我找一些实现,总结下实现思路: 1.ViewAnimator 思路 使用 ViewAnimator 自身特性,对期中的子 view 实现动画切换 2.自定义 viewGroup 思路 在这个思路下,我们自定义一个容器,继承 FrameLayout ,根据数据数量自己 new 相应数量的
分类: 其他 发布时间: 04-12 23:15 阅读次数: 0

你被抖音“魔性”的设计风格洗脑了吗?

说起这两年最火爆的短视频APP,大家会异口同声的说抖音APP。这个logo如同名字一样具有“抖动”特效,一下子就抓住了年轻人的心,很多人都说这个logo很有“魔性”。 从抖音的品牌名、logo,到视频内容、特效,再到基于抖音火起来的网红们,都将“魔性”这种印象贯彻到底了。 除了抖音,红蓝配色的优酷近年来将logo设计得更明亮、更简洁了,而在动态logo的表现上也更动感、潮流,焕发十足年轻气息。 同样都是年轻人常用的APP,优酷突显活力,抖音突显魔性,这都是品牌设计中关于品牌个性与人格的打造。
分类: 其他 发布时间: 04-12 23:14 阅读次数: 0

异步系统的两种测试方法

互联网软件系统一直随着需求、用户量上升等等的原因在演进,以求适应更复杂的业务场景,更高的性能要求等等。软件演进方式各种各样,系统异步化即为其中一种。 一般的,对于那些实时性要求不高,但却计算密集或者需要处理大数据量的耗时较长的任务,或是有较慢 I/O 的任务,选择异步化是一个不错的选择。在系统层面,像引入消息中间件来解耦系统,将耗时长的任务放在中间件后异步执行。在方法层面,像把耗时较长的任务放到其他线程中去异步执行。 与测试同步系统或方法不同,当我们测试异步系统(端到端测试、集成测试)或异步方
分类: 其他 发布时间: 04-12 23:13 阅读次数: 0

LinkedIn 从CMS到G1的调优实战,实现毫秒级响应

LinkedIn中的个人主页是访问量最多的页面之一,它允许其他人访问你的个人主页,从而了解你的专业技能,经验和兴趣等,所以确保用户访问主页时以最快的速度返回是非常重要的。这篇文章,将谈论LinkedIn如何调优,从而确保个人主页达到毫秒级别的响应速度。 背景 在单个数据中心中,个人主页的QPS能轻松的到达几十万以上,然而,当流量发生切换的时候(流量从一个数据中心切换到另一个数据中心),这些额外的负载就会被加到目标数据中心,导致QPS上扬,延迟增大。最终可能导致请求超时。个人主页变慢,就会拖慢其
分类: 其他 发布时间: 04-12 23:13 阅读次数: 0

“搜索”的原理,架构,实现,实践,面试不用再怕了(值得收藏)!!!

可能99%的同学不做搜索引擎,但99%的同学一定实现过检索功能。搜索,检索,这里面到底包含哪些技术的东西,希望本文能够给大家一些启示。 全网搜索引擎架构与流程如何? 全网搜索引擎的宏观架构如上图,核心子系统主要分为三部分(粉色部分): (1)spider爬虫系统; (2)search&index建立索引与查询索引系统,这个系统又主要分为两部分: 一部分用于生成索引数据build_index 一部分用于查询索引数据search_index (3)rank打分排序系统; 核心数据主要分为两部分(紫
分类: 其他 发布时间: 04-12 23:13 阅读次数: 0

[译] 浏览器帧原理剖析

浏览器帧原理剖析 开发者常常问我关于像素工作流程的某些部分,什么时候、为什么、发生了什么。所以我感觉值得提供一些参考,有关于将像素显示在屏幕上的过程里发生了什么。 警告:文本是 Blink(译注:Chrome 使用的排版引擎,是 webkit 的分支)和 Chrome 的视角。主线程的大部分任务以某种方式被所有第三方(vendors)任务“共享”,比如布局和样式计算结果,但是总的架构可能不是这样。 一图胜千言 这是真的,让我们先看一张图: 将像素放到屏幕上的完整过程。 下载图片 进程 这张小图
分类: 其他 发布时间: 04-12 23:12 阅读次数: 0

如何分辨领域服务与应用服务?

判断什么时候应该定义领域服务,什么时候应该定义应用服务,一个根本的判断依据是看需要封装的职责是否与领域相关。 01 横切关注点 在应用服务中,我们往往需要和如下逻辑进行协作: 消息验证 错误处理 监控 事务 认证与授权 在《领域驱动设计模式、原理与实践》一书中,将以上内容视为基础架构问题。这些关注点与具体的业务逻辑无关,且在整个系统中,可能会被诸多服务调用(以便于重用),因此可以认为这些关注点为横切关注点。 从 AOP 的角度看,所谓“横切关注点”就是那些在职责上是内聚的,但在使用上又会散布在
分类: 其他 发布时间: 04-12 23:12 阅读次数: 0

MFC使用Sleep() 导致窗口界面卡死的解决办法

原因是MFC的窗口界面也是一个线程,当然是主线程,调用Sleep会导致主线程阻塞,也就是界面‘假死’的现象。所以,如果想让界面不卡死,就要新创建一个线程,让原本的代码在线程函数里运行。 下面是我的一个例子,我之所以会用到Sleep函数,是因为我有一个While(1)的死循环,我希望它每隔一定时间执行一次,而不是"鬼畜态"的疯狂跑… = =|| 首先我们再按钮函数里添加以下代码: 然后是action_clickRightBlue() { while(1){ // 你的代码 Sleep(???);
分类: 其他 发布时间: 04-12 23:11 阅读次数: 0

C#项目从Win10 移植到 Win7 x64 的 方法

如题,今天发现C#项目的移植方法和C++的移植方法不太一样。C++项目,只需要在‘项目’——‘属性’——‘C++’——‘代码生成’——‘运行库’,选择 多线程/MT 就可以了。 但是你们也知道,C#的项目属性 是这个吊样的: 压根就没有‘代码生成’这个菜单,并且 在Win7 下会提示‘此电脑没有安装.net 4.0’,安装完成之后又会提示‘未安装.net 4.52’ 所以还是建议大家直接安装4.52 吧。 我是用离线安装的方法来安装的,下面是安装包的下载链接(安装过程就是无脑下一步就好) ht
分类: 其他 发布时间: 04-12 23:11 阅读次数: 0

C#使用‘百度AI接口’剔除多余字符

本文的代码出于:https://blog.csdn.net/a497785609/article/details/82690732 我只是整合并实验了一下方便大家掌握和理解,若有违规请联系删除。 所有代码(这是窗体应用程序): using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq
分类: 其他 发布时间: 04-12 23:11 阅读次数: 0

C# 调用【榛子云】短信接口

榛子云的官网:http://smsow.zhenzikj.com/ ,最低充值10R = 270条 运行环境:Win10 x64 、VS2015 注册登录之后,先去下载C#的SDK:(我这里用的是C#的) 下载完后就是一个dll,名字是 ZhenziSms.dll,把这个dll 添加到项目引用,另外需要注意这个接口需要.net framework 4.7 框架,如果你的项目框架不匹配的话就会有警告,可以在 “项目”——“属性”——“应用程序”——“目标框架”里修改: 下面是代码: us
分类: 其他 发布时间: 04-12 23:11 阅读次数: 0

如何将PDF在线转成图片

工作当中,常用到PDF文档,就连分享的电子书也是PDF格式的,因为其各个平台传播流通的稳定性,不会造成本身文件的排版错乱等问题,但有的时候图片所给人的冲击感更为享受,那如何将PDF文件转换成图片内容的呢,小编这就来告诉大家。操作步骤:第一步:打开电脑进入浏览器搜索“迅捷PDF在线转换器”进入在线页面。第二步:进入到在线页面后,找到页面内的“文档转换”并在下拉框内选择“PDF转图片”,进入功能页的页
分类: 企业开发 发布时间: 04-12 23:10 阅读次数: 0