- 博客(42)
- 收藏
- 关注
原创 国内团队博客汇总
京东前端团队凹凸实验室蘑菇街技术博客奇迹空间科技有限公司百度技术沙龙百度web前端团队FEX饿了么物流悦跑圈技术团队并发编程网阿里中间件团队博客阿里技术沙龙天猫无线团队淘宝前端团队FED美团点评技术团队奇虎360技术博客alloyteam腾讯全端腾讯Bugly腾讯wetestIBM developerWorks 中国Glow
2018-01-05 09:07:19 1224
原创 国内个人博客汇总
stormzhang,Trinea,张明云,胡凯,技术小黑屋,高建武,廖祜秋,郭霖,任玉刚,张鸿洋,徐宜生,江清清,汤涛,扔物线,何红辉,脉脉不得语,代码家,hi大头鬼hi,包建强,顾浩鑫,Gityuan,罗升阳,邓凡平,魏祝林,农民伯伯,非著名程序员张涛,吴小龙,piasy,wangkuiwu ,小创作,Keegan小钢,田维术,中二病也要开发 ANDROID,宅男潇涧,晓晨DEV的技术博客,drakeet,markzhai ,Idtk,D_clock爱吃葱花,程序亦非猿,tikitoo,区长,And
2017-07-13 15:37:31 3715
原创 Android 开发与进阶阅读书籍
java基础与进阶 《java核心技术两卷》 《java编程思想》 《Effective Java》 《java并发编程实战》 《Java性能优化权威指南》 《深入理解java虚拟机》android 基础与进阶 《Android开发精要》 《第一行代码——Android》 《Android开发艺术探索》 《Ap
2017-06-13 11:34:59 1819
原创 Native Crash 信号速查
重点信号SIGSEGV(11)signal segmentation violation:段错误无效内存访问访问无权访问的内存空指针、越界访问(mmap?)SIGBUS(7)Bus Error:总线错误非法内存访问访问 CPU 无法物理寻址的内存通常是由于 CPU 的对齐问题引起的(例如,尝试从不是 4 的倍数的地址读取长整型数据)SIGABRT(6):abort(3)发出的信号;资源初始化异常(配置文件、对象)SIGPIPE(13):管道破损,没有读端的管道写数据S
2024-10-31 20:16:38 307
原创 View三大机制(二):绘制流程
刷新机制:由ViewRoot对象的performTraversals()方法调用draw()方法发起绘制该View树,值得注意的是每次发起绘图时,并不会重新绘制每个View树的视图,而只会重新绘制那些“需要重绘”的视图,View类内部变量包含了一个标志位DRAWN,当该视图需要重绘时,就会为该View添加该标志位。measure:确定View的宽高为整个View树计算实际的大小,即设置实际的高(对应属性:mMeasuredHeight)和宽(对应属性: mMeasureWidth)
2024-10-30 17:46:39 490
原创 View三大机制(一):触摸机制(事件分发)
主要由三个重要的方法共同完成的,只有ViewGroup有拦截方法。View事件方法执行顺序:onTouchListener > onTouchEvent > onLongClickListener > onClickListener。传递过程遵循如下顺序:Activity->Window->PhoneWindow->DecorView->RootView->ViewGroup->View。
2024-10-30 17:42:28 919
原创 可以尝试的知识付费渠道
课程国内慕课网腾讯课堂网易云课堂中国大学MOOC网易公开课国外edXCourseraUdacity知识付费知乎 live小报童知识星球小专栏GitChat极客时间拉钩教育小鹅通千聊得到电子书Kindle电子书微信读书攀登读书会得到当当豆瓣
2024-05-02 15:23:59 52
原创 了解行业信息的网站
讨论脉脉看准网GlassdoorBlind一亩三分地社区薪资状况OfferCome100offer职级对标levels.fyi融资创投平台IT桔子烯牛数据瞪羚云风潮|Current.VC胡润百富榜单系列福布斯榜单查公司国家企业信息公示系统天眼查企查查查人中国裁判文书网中国执行信息公开网中国人民银行征信中心
2024-05-02 15:21:22 44
原创 Android 开发细分方向
应用开发自定义控件性能优化游戏开发日常开发引擎开发系统开发定制鸿蒙安全逆向基础框架:缓存 网络 数据库 日志动态化H5 容器React NativeFlutter组件化热修复 插件化音视频图形图像直播 会议嵌入式开发物联网车机AI大模型机器学习区块链AR & VR
2024-04-08 15:14:12 207 4
原创 RecyclerView 与 ListView(二):缓存
ListView和RecyclerView最大的区别在于数据源改变时的缓存的处理逻辑,ListView是"一锅端",将所有的mActiveViews都移入了二级缓存mScrapViews,而RecyclerView则是更加灵活地对每个View修改标志位,区分是否重新bindView。在Recycler中实际上缓存VieHolder的有2类集合,一类是可见的ViewHolder数组,一类是不可见的ViewHolder数组,其中可见的数组中又分为数据改变跟没有改变的。RecyclerView获取缓存的流程。
2024-04-05 16:42:43 948
原创 RecyclerView 与 ListView(一):使用
通过ListView的getChildAt()来获得需要更新的View,然后通过getTag()获得ViewHolder,从而实现更新。RecyclerView.ItemDecoration 给每一项Item视图添加子View,例如可以进行画分隔线之类。RecyclerView.LayoutManager 负责Item视图的布局的显示管理。RecyclerView.ViewHolder 承载Item视图的子布局。RecyclerView.Adapter 为每一项Item创建视图。Recycler缓存机制。
2024-04-05 16:35:48 359
原创 开发环境搭建(二):IDE 配置
安装Genymotion与Genymotion插件之后,并与之关联。如需安装SVN,在安装SVN时需要勾选安装命令工具。修改注释位置,禁用“语句堆一行”修改文件编码为UTF-8。禁止自动打开上次的工程。
2020-04-13 20:44:40 384
原创 realm-js chrome debug 报错解决方案
failed to execute ‘send’ on ‘xmlhttprequest’方案一:修改node_modules/realm/lib/browser/rpc.jsif (global.__debug__) { let request = global.__debug__.require('sync-request'); let response = request(...
2019-01-24 13:24:43 648 1
原创 Android 编译版本、support、主题版本那些事
compileSdkVersion, minSdkVersion , targetSdkVersioncompileSdkVersion:编译版本,控制可以使用哪些 API 。不会被包含到 APK 中minSdkVersion :最低兼容版本targetSdkVersion:应用运行时使用的版本,即使使用了高版本API也不会生效合理的关系 minSdkVersion <= targ...
2018-09-29 16:49:04 1367
原创 Android .so 文件使用
Android 上 启动 每个 App, 都会 为 App 创建 一个 虚拟 机。Android 的 64 位 系统,加载 32 位 的 so 或者 App 时, 会在 创建 一个 64 位 的 虚拟 机 的 同时, 还 创建 一个 32 位 的 虚拟 机, 这样, 就能 兼容 32 位 的 App 应用 了。所以, 在 App 中, 保留 一个 armeabi- v7a 版本 的 so 就 足够 了。64 位 Android 系统 会在 32 位 的 虚拟 机上 加载 它。
2018-09-25 17:07:27 2164
原创 ImageView的scaleType属性
ImageView的scaleTypematrix:matrix表示原图从ImageView的左上角开始绘制,如果原图大于ImageView,那么多余的部分则剪裁掉,如果原图小于ImageView,那么对原图不做任何处理fitXY:填充整个ImageView,不会按照原图的比例来缩放fitStart:将图片按比例缩放至View的宽度或者高度(取宽和高的最小值),然后居上或者居左显示fi...
2018-08-07 13:02:55 376
原创 使用 WebView 时需要注意的一些问题
内核版本在Android 4.4以下(不包含4.4)系统WebView底层实现是采用WebKit内核,而在Android 4.4及其以上Google 采用了chromium作为系统WebView的底层内核支持。注意点Android SDK 16 以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正 确限制使用 WebView. addJavascriptInterfac...
2018-08-02 10:38:24 1946
原创 Android 状态栏那些事
3.0(可以显示或隐藏状态栏)View中加入了一个void setSystemUiVisibility (int visibility) 方法。随着该方法一同出来的有两个属性:STATUS_BAR_HIDDEN、STATUS_BAR_VISIBLE。并且还加入了View.OnSystemUiVisibilityChangeListener来监听系统UI的变化。4.0(优化隐藏状态栏...
2018-07-10 14:05:53 261
原创 Android 颜色透明度对照表
不透明100% — FF95% — F290% — E685% — D980% — CC75% — BF70% — B365% — A660% — 9955% — 8C50% — 8045% — 7340% — 6635% — 5930% — 4D25% — 4020% — 3315% — 2610% — 1A5% — 0D0% — 00全透明。
2018-07-05 10:55:10 1815
转载 Android 插件化技术简史
2012年的时候,大众点评的屠毅敏,推出了AndroidDynamicLoader框架,他使用一个Activity作为外壳,动态加载一个未安装apk中的Fragment,并通过外壳Activity来处理Fragment的全部生命周期,达到动态加载一个Android视图界面的效果。2013年,出现了23Code。23Code提供了一个壳,在这个壳里可以动态下载插件,然后动态运行。可以在壳外编写各...
2018-06-27 16:46:36 275
原创 Android Studio Gradle 编译加速
升级到最新版本GradleC:\Users\Administrator.gradle目录下创建gradle.properties文件并配置#编译时使用守护进程,避免冷启动org.gradle.daemon=true#为Gradle分配足够大的内存org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOn...
2018-06-19 12:48:29 447
原创 Android 调试
快捷键单步调试(F8)进入方法内部(F7)退出当前方法,去到该方法调用处的下一行(上档键+F8)跳到下一个断点(F9)高效断点条件断点先在需要的行前左键单击添加普通断点,右键点击该断点出现对话框,在“Condition”处填入条件即可,条件语法同 Java,如 i == 98。点击 Done,完成添加。这样当条件未满足时,不会阻塞程序运行;当条件满足时断点被触发。日志断点在条件断点弹出的对话框里,将“suspend”设置为未选中状态,断点触发时就不会被阻塞。我们选中“Eva
2018-05-31 13:05:30 470
原创 Android 开发遇到的杂七杂八问题
Android Studio > Settings > Appearance & Behavior > System Settings > Updates > 把Use secure connection勾选去掉。Android Studio > Settings>Build,Execution,Deployment > Instant Run > 把Enble Instant Run…如果有git bash 用rm -f -r 文件夹删除。
2018-05-08 16:07:10 696 1
原创 React Native 常用命令与属性总结
常用命令创建工程:react-native init 项目名称查看RN本地版本:react-native –version更新RN本地版本:npm update -g react-native-cli查询RN的npm包最新版本:npm info react-native升级或者降级npm包的版本:npm install –save react-native@0.18更新项目temp...
2018-05-03 21:36:32 276
原创 Android 各版本系统适配的一些注意点
5.0通知栏 使用appcompat-v7库中提供NotificationCompat.Builder替换Notification.BuildersetSmallIcon图片资源只使用alpha图层来进行绘制,而不应该包括RGB图层。换句话说就是图片不能有背景色 ,颜色可以通过setColor设置6.0权限 运行时危险权限需要在使用到改权限时动态申请7.0...
2018-04-27 17:10:26 3092
原创 Android 存储目录详解
内部存储空间中的应用私有目录data/data/app package name:WebView 缓存页面信息,SharedPreferences 和 SQLiteDatabase 持久化应用相关数据等当用户卸载 App 时,系统自动删除 data/data 目录下对应包名的文件夹及其内容。getFilesDir()getCacheDir()宿主 App 可以直接读写内部存储空间中的...
2018-04-19 10:47:23 1132
原创 Android 开源热库汇总(二):快速开发库
1.常用控件PhotoView一款ImageView展示框架,支持缩放,响应手势https://github.com/chrisbanes/PhotoViewCircleImageView圆角ImageViewhttps://github.com/hdodenhof/CircleImageViewStatusBarUtil一款提供设置沉浸式状态栏样式能力的框架https://github.com/l
2017-11-28 14:32:21 770
原创 Android 应用代码不需要混淆的类
第三方库反射相关类实体类JNI中调用的类WebView中JavaScript调用的方法Layout布局使用的View构造函数(自定义控件)、android:onClick等。
2017-11-28 10:40:35 1681
原创 Android 开发忽略文件配置
Mask:build 表示忽略所有 build 文件夹,包括所有 Module 的 build 文件夹;Mask:*.iml 表示忽略所有 iml 格式的文件。
2017-10-09 15:39:53 565 1
原创 Android 系统各版本新特性总结
Android 4.0Space 留白PopupMenuGlidLayout 网格布局Android 5.0MaterialDesign设计风格Material ThemeMeterial DialogCardViewRecyclerViewSwipeRefreshLayoutToolbarRippleDrawable 视图的水波纹效果android L ...
2017-06-02 16:38:21 1481
原创 开发环境搭建(一):React Native、Android
Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install 某第三方库名。cnpm 安装的模块路径比较奇怪,packager 不能正常识别!注意:Node 的版本必须高于 8.3,Python 的版本必须为 2.x(不支持 3.x),而 JDK 的版本必须是 1.8(目前不支持 1.9 及更高版本)
2017-05-02 13:51:05 504 1
原创 Sublime Text 3 英文版中文乱码解决方案
1.在Sublime Text里,按ctrl+`,打开Console,一次性输入如下代码:import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.bui
2017-04-27 22:11:57 551
原创 Android 开源热库汇总(一):基本库
缓存DiskLruCacheJava实现基于LRU的磁盘缓存https://github.com/JakeWharton/DiskLruCache图片加载Android Universal Image Loader一个强大的加载,缓存,展示图片的库https://github.com/nostra13/Android-Universal-Image-LoaderPicasso一个强大的图片下载与缓存
2017-04-26 14:02:53 1439
原创 Android 拷贝项目的数据库文件权限命令
adb shellsu rootchmod 777 /datachmod 777 /data/datachmod 755 /data/data/com.minxing.testclient/databases/xx.db
2017-04-05 11:32:08 892
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人