解决方案
文章平均质量分 60
GeorgeGcs
历经华图,腾讯,宝马,研究所,金融。
待过大型私企,外企,央企。
深耕大应用开发领域十年。
OpenHarmony,HarmonyOS,Flutter,H5,Android,IOS。 目前任职鸿蒙应用架构师。
展开
-
如何使用Gitee管理自己的项目
如何使用Gitee管理自己的代码工程项目原创 2024-08-25 15:01:28 · 472 阅读 · 0 评论 -
跨平台为何选择Flutter?
跨平台为何选择Flutter?Flutter诞生的核心需求就是跨平台能力,显而易见多种平台限制了应用的发展。人力成本,风险管控都因为平台个数,指数增加。所以企业会通过各种技术手段,使用跨平台能力,来实现应用的核心功能。在Flutter诞生之前,已经有很多成熟的跨平台能力,比如H5,Weex等等。这些跨平台能力基本分为这几类:1. 基于WebView呈现界面和界面逻辑处理,通过JS bridge调用原生接口系统能力。缺点就是:webview容器是有能力上限的,且出现问题后修改成本太大。2. 将UI原创 2022-04-15 23:53:54 · 3069 阅读 · 0 评论 -
airbnb 爱彼迎开源 Epoxy 优化使用 RecyclerView
airbnb 爱彼迎开源 Epoxy 优化使用 RecyclerView一、为什么要使用EpoxyRecyclerView 众所周知是在listview和gridview基础上优化缺点,提炼出的一个组件view。通过layoutmanager可以设置样式,完全替代前者那两个组件view。但是随着我们使用RecyclerView,发现它的问题也越来越难以忍受。使用RecyclervView,必然会有Adapter和Viewholder的处理。onCreateViewHolder,onBindView原创 2022-04-07 19:19:46 · 2774 阅读 · 0 评论 -
mac电脑 Cornerstone log无法查看问题解决
这里写自定义目录标题mac电脑 Cornerstone log无法查看问题解决mac电脑 Cornerstone log无法查看问题解决首先要搞清楚你的是破解版还是正版。如果是破解版,包名就是:com.zennaware.cornerstone3.mas正版则是:com…zennaware.Connerstone如果你使用Cornerstone管理svn,第一次查看log的时候悲催的选择了Download而不是Never,那么恭喜你你将无法查看log,进而也无法回滚了。解决方案如下:退出Corn原创 2021-03-04 16:32:30 · 597 阅读 · 1 评论 -
android 内存泄露学习
内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。最近自己阅读了大量相关的文档资料,打算做个总结沉淀下来跟大家一起分享和学习,也给自己一个警示,以后 coding 时怎么避免这些情况,提高应用的体验和质量。我会从 java 内存泄漏的基础...转载 2019-11-28 20:54:36 · 286 阅读 · 0 评论 -
android ListView几个特别好用的属性
首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true" 第二是 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMod原创 2016-11-18 10:56:32 · 425 阅读 · 0 评论 -
Android获取屏幕宽高与获取控件宽高
控件宽高是有绘制过程的,在onCreate方法中直接获取控件的宽高,一般来说为0; 所以我们需要用以下方法获取 控件的宽高: 加载onMeasure二次,但是回调函数只回调一次ViewTreeObserver vto2 = imageView.getViewTreeObserver(); vto2.addOnGlobalLayoutListener(new OnGloba原创 2016-12-07 17:07:35 · 482 阅读 · 0 评论 -
java用double和float进行小数计算精度不准确
java用double和float进行小数计算精度不准确大多数情况下,使用double和float计算的结果是准确的,但是在一些精度要求很高的系统中或者已知的小数计算得到的结果会不准确,这种问题是非常严重的。《Effective Java》中提到一个原则,那就是float和double只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDe原创 2016-05-04 15:02:31 · 11071 阅读 · 3 评论 -
Android EditText 光标控制,颜色修改,显示与隐藏
修改Android EditText光标颜色:EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的android:textCursorDrawable=”@null”,”@null”作用是让光标颜色和text color一样Android 设置EditText光标Cursor颜色及粗细:在android的输入框里,如果要修改光标的颜色及粗细步原创 2016-12-07 17:03:47 · 9221 阅读 · 0 评论 -
Android实现动画效果之淡入淡出
View渐隐动画效果 /** * View渐隐动画效果 */ public void setHideAnimation( View view, int duration) { if (null == view || duration < 0) { return; } if (原创 2017-01-08 18:39:08 · 17054 阅读 · 0 评论 -
java ArrayList数据对象按排序值大小排序
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Random;/** * * @author www.zuidaima.com * */public class ListSort {原创 2016-11-18 10:50:08 · 11927 阅读 · 0 评论 -
LRU算法研究
LRU是Least Recently Used 近期最少使用算法。内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。 什么是LRU算法? LRU是Least Recently Used的缩写,即最少使用页面置换算法,是为虚拟页式存储管理服务的。 关于操作系统的内存管理,如何节省利用容量不大的内存原创 2016-04-12 19:39:49 · 1762 阅读 · 0 评论 -
ArrayList add赋值后,前面数据被覆盖的问题
ArrayList<SomeType> myList = new ArraList<SomeType>(); for(.....) { SomeType st = new SomeType; for(.....) { st = ooxx; myList.add(st); }原创 2016-11-18 10:55:35 · 3970 阅读 · 0 评论 -
ListView 记住位置 非Itme位置
应用开发中为了做到更好的用户体验,需要ListView记住上次滑动到的位置,使用getScrollY()方法总是返回0,因为getScrollY() 是View的方法。最后在谷歌上找到了这个:// save index and top position int index = mList.getFirstVisiblePosition(); View v = mList.getChildAt原创 2016-11-18 10:52:25 · 610 阅读 · 0 评论 -
Android Cannot merge new index 67208 into a non-jumbo instruction
网上给出的解决方案是,将dex.force.jumbo=true添加到project.properties文件中,然后清理工程,并重新编译。原创 2016-09-29 17:08:29 · 605 阅读 · 0 评论 -
Bitmap优化及内存优化
Android系统中Bitmap是否有调用recycle方法的必要性Bitmap需调用 recycle() 是历史问题,在 Android 3.0之前,Bitmap 的图片数据是在底层C中处理的,因此在 Android3.0 之前 recycle() 是应该调用的。虽然 finalize() 会调用 recycle() ,但对Java有经验的同学应该知道只依靠 finalize() 去释放资源是会出原创 2016-04-01 13:25:01 · 1211 阅读 · 0 评论 -
深入浅出Android MVP模式
深入浅出Android MVP模式什么是MVP模式MVP是针对有GUI存在的应用程序,比如像安卓,像水果以及PC的客户端软件中用以划分组织代码的一种设计模式,是由MVC模式升级演进出来的,目的在于,对于GUI层来说,把UI展示与逻辑分开。Model – 为UI层提供的数据,或者保存UI层传下来的数据View – 单纯的展示数据,响应用户操作并都转发给Presenter来做具体的处理Present原创 2016-05-24 11:43:18 · 731 阅读 · 0 评论 -
Bitmap与Cache及Fresco android图片加载库
Fresco android图片加载库 — FaceBook Fresco 是一个强大的图片加载组件。Fresco 中设计有一个叫做 image pipeline 的模块。它负责从网络,从本地文件系统,本地资源加载图片。为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级文件)。Fresco 中设计有一个叫做 Drawees 模块,方便地显示loading图,当图片不再显示在屏幕上时原创 2016-03-31 14:48:43 · 1269 阅读 · 0 评论 -
Android获取屏幕的高度和宽度
android获取屏幕的高度和宽度用到WindowManager这个类两种方法:1、WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(原创 2016-08-28 18:23:02 · 542 阅读 · 0 评论 -
Listview和Gridview的局部刷新
众所周知Listview和Gridview的刷新界面的方式是调用adapter.notifyDataSetChanged()进行界面刷新。 但是此方法有其弊端,他是将界面中的数据全部刷新一遍,不论数据有没有变化。如果listview加载了很多的数据(如:100条)在进行刷新时就会造成很大的系统开销如何像qq空间个人动态那样点赞只刷新一条呢:主要原理: 对listview的某一个item进行刷新原创 2016-08-28 18:25:45 · 678 阅读 · 0 评论 -
Enterprise Architect 的安装与使用
Enterprise Architect1. 安装英文版本下载地址: http://download.csdn.net/detail/u010949451/96087842. 安装汉化包下载地址: http://download.csdn.net/detail/u010949451/96087853. 输入注册码Enterprise Architect 7.5注册码Name:whitehous原创 2016-08-21 12:11:45 · 2324 阅读 · 1 评论 -
19种Android必杀技小工具
19种Android必杀技小工具1、XAppDbg XAppDbg是一个可以在运行中改变代码中参数的一个应用开发工具。这个工具可以为你省下大量的时间,因为你不用为应用的每次小改变而重新编译运行你的程序。2、ChkBugReport 这个工具可以快速地检查输出的Android错误报告。它从Android错误报告工具输出的大量文本文件中进行语义分析,然后解析成一个更具有可读性的文档,分析起来原创 2016-08-10 21:38:25 · 1303 阅读 · 0 评论 -
Android倒计时和计时控件
在购物网站的促销活动中一般都有倒计时限制购物时间或者折扣的时间,这些都是如何实现的呢?在最近的一个安卓客户端项目中恰好遇到了类似的问题,一开始使用的是Timer与 TimerTask, 虽然此方法通用,但后来考虑在安卓中是否有更佳的方案,于是乎共找到以下五种实现方案,最终我使用了方案五完成了此功能.方法一Timer与TimerTask(Java实现)public class timerTask ex原创 2016-08-10 21:41:49 · 887 阅读 · 0 评论 -
Linux 学习经验分享
1, 学Linux有什么用?学好Linux会让你打破 Windows的限制,在开源世界里来去自如,有大把的免费软件供你使用,尤其是计算机系的学生,。 如果仅仅是将Linux作为就业谋生的唯一工具,选择方向主要是在运维、系统级软件开发等领域,Linux在服务器市场占领了绝大部分份额,比如互联网行业、前端Web开发、后端的Web服务器、数据库、存储设备基本上都是跑在Linux上的,所以做软件开发免不了原创 2016-09-22 19:51:23 · 663 阅读 · 0 评论 -
时间复杂度
参考: http://blog.csdn.net/without0815/article/details/7697916 http://gengning938.blog.163.com/blog/static/128225381201141121326346/ 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面原创 2016-09-22 20:20:26 · 870 阅读 · 0 评论 -
解决方法数超出 android优化 清除无效代码 UCDetector
Android下优化 清除无效 未被使用的 代码 UCDetector 官方下载地址:http://www.ucdetector.org/index.htmlUCDetector 是 eclipse 工具 可以审查出程序中 未被使用的、 冗余的、 变量不规范 的代码 需要注意: 反射 、在xml中配置注入方式、第三方工程的应用 、jar包调用 等 需要自己手工判断 建议删除类的时候原创 2016-09-29 16:58:20 · 676 阅读 · 0 评论 -
图片内存管理框架优化 ImageManager
图片内存管理框架优化 ImageManager今天开始接到任务,要完成公司的图片管理框架的优化,希望自己能记录下过程的点滴:熟悉框架结构了解变量方法相关类接口熟悉总结研究Fresco对比出解决方案ImageManagerHelper得到初始化图片方法 getDrawable(String uiName, int normalId, int pressId, int disable原创 2016-03-30 16:06:38 · 1605 阅读 · 0 评论