自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嘻哈包袱铺 专栏

github开源项目 https://github.com/GeekGhost/Ghost

  • 博客(804)
  • 资源 (1)
  • 收藏
  • 关注

原创 WEB性能权威指南 笔记 03

HTTP 1.1HTTP 1.0 的优化策略非常简单,就一句话:升级到 HTTP 1.1。完了!• 持久化连接以支持连接重用;• 分块传输编码以支持流式响应;• 请求管道以支持并行请求处理;• 字节服务以支持基于范围的资源请求;   • 改进的更好的缓存机制。对网络优化:• 减少DNS查询每次域名解析都需要一次网络往返,增加请

2016-10-11 15:32:13 1498 1

原创 web性能权威指南 笔记 02

HTTP发展史 http0.9 –>http1.0 –>http1.1 –>http2.0http请求和http响应 主要步骤包括:➊ 请求 HTML 文件,及其编码、字符集和元数据➋ 对原始 HTML 请求的分块响应➌ 以 ASCII 十六进制数字表示的分块数据的字节数( 256 字节)➍ 分块数据流响应结束➎

2016-10-11 15:25:24 1122 1

原创 WEB性能权威指南 笔记 01

“合格的开发者知道这么做, 而优秀的开发者知道为什么那么做”一. 延迟与带宽分组从信息源发到的地所需的时间逻辑或物理通信路径最大的吞吐量延迟的构成传播延迟 信号传播距离和速度的函数 =>信号传播距离/速度传输延迟 把消息中比特转移到链路中的时间, 是消息长度和链路速率的函数 =>消息长度/链路速度处理延迟 处理分组头部,检查为错误,以及确定分组目标需

2016-10-11 15:14:20 1710 3

原创 Android JetPack 组件代码实战(ConstraintLayout)

Android JectPack 系列更新

2023-02-02 16:41:03 229

原创 Android JetPack 组件对比分析(Lifecycle)

Android Jetpack 深度学习

2023-02-01 14:32:27 200

原创 Ghost 混合开发-Git Submodule使用

一、背景:1.混合开发使用Android+ReactNative。两种语言Java和TypeScript。简化:ReactNative为RN2.Android加载RN模块的时候改动项。 1.assets模块下的bundle文件,bundle文件是RN生成的离线包 2.未来使用RN第三方自定义组件的时候,会在Android 中的setting文件中配置路径,如./rn/node_modules/react-native-linear-gradient/android_...

2021-10-08 15:39:46 271

原创 Android 内存优化-应用退到后台清除缓存

背景:App在使用过程中,图片加载越来越多。即便现在的Glide提供了不错的内存回收能力,但是依然存在了App使用内存越来越大的问题。方案:检测App切换到后台后,目前先只清除图片相关内存。实践:查看当前App使用内存大小adb shell dumpsys meminfo com.cn.xxxadb shell dumpsys meminfo 1636版本:4.4.0采样案例:动态图文 10张图片 首次打开界面 打开 图文

2021-09-30 14:20:29 604

原创 Ghost项目升级到AndroidX问题

目标:最近有一个大胆的想法:重启Ghost项目。https://github.com/GeekGhost/Ghost背景:由于公司现在使用了混合开发。Android+ReactNative模式。于是便有了这个想法。在原有的Ghost纯Android项目中,新增RN代码。完成混合项目。问题点:于是就开始干,Ghost项目是2017年开启的,到现在有很长时间不更新了。首次clone项目运行后,发现项目不能运行,直接闪退。变开始了修复道路,并将项目转到AndroidX。升级Gho..

2021-09-29 17:50:55 230

转载 鸿蒙学习开发-认知篇

背景:官网该系统的定义:HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。对应用开发者而言,HarmonyOS采用了多种分布式技术,**使得应用程序的开发实现与不同终端设备的形态差异无关,降低了开发难度和成本。**这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。该优点在5G这个万物互联的时代具有着巨大的优

2021-08-27 16:43:41 297

原创 2021-04-22 ReactNative 修改手机字体字号 Text 变化的问题

ReactNative 修改手机字体字号 Text 变化的问题如果是在Android的设备中需要添加以下代码:import android.content.res.Configuration;import android.content.res.Resources;public class MainActivity extends ReactActivity {...// 禁止字体缩放@Overridepublic Resources getResources() {Resource

2021-04-22 14:21:40 292

转载 2020-12-16

[译]如何结合React Hooks来使用Redux转载自:https://juejin.cn/post/6844903955739197447原文地址:itnext.io/how-to-use-…React-redux 发布了 7.1.0 版本的 hooks 。 这意味着我们可以使用 React 的最新最佳实践。Hooks 让我们为相同的功能编写更少的代码。我们需要编写的代码越少,我们就可以越快地启动应用程序。简单的 Redux 组件这是一个非常基本和传统的 Redux 连接组件。

2020-12-16 15:59:59 129

原创 2020-11-24

react-native组件的生命周期组件生命周期调用顺序:1.1 构造函数(constructor)1、第一个语句必须是super(props)。2、contructor将在任意一个RN组件被加载之前优先调用,并且只会调用一次。3、该函数最大的作用是定义该组件当中需要使用的状态机变量 。constructor(props) { super(props); this.myProperty1 = 'test'; this.m...

2020-11-24 17:58:12 136

原创 2020-11-10

Android 与 JS 交互com.github.lzyzsd:jsbridge记录心得:准备工作1.首先,需要在根目录下的build.gradle文件中加上:repositories {// ...maven { url "https://jitpack.io" }}2.然后,需要在app目录下的build.gradle文件中加上依赖:implementation 'com.github.lzyzsd:jsbridge:1.0.4'开始...

2020-11-10 15:39:14 406

原创 2020-11-06

Android 疑难杂症-网页链接显示问题疑难点TextView网页可点击链接的时候,发生了设置setMovementMethod,内容显示不出来的问题 TextView 网页链接取消下划线的问题解决方案1.布局文件里TextView不能出现gravity,否则就显示不出来。2.要设置自定义的MovementMethod方法mTvShortContent.setMovementMethod( ExpandableTextView.LocalLinkMovementMethod.

2020-11-06 18:28:35 302

原创 云服务器之CentOS使用yum安装jdk

、查看系统版本命令cat/etc/issue2、查看yum包含的jdk版本yumsearch java 或者 yum list java*版本 jre jdk 1.8 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 1.7 java-1.7.0-openjdk.x86_...

2019-11-15 11:02:31 228

转载 React Native0.61进阶之与Android端传递消息

转载自:https://blog.csdn.net/u013718120/article/details/55506238RN与Andorid通信的方式大概总结了有以下四种: RCTDeviceEventEmitter 事件方式 Callback 回调方式 Promise 信任方式 直传常量数据 优缺点:1. RCTDeviceEventEmi...

2019-11-14 11:28:34 423

原创 React Native0.61进阶之动画 Animated/LayoutAnimation

React Native 提供了两个互补的动画系统:用于创建精细的交互控制的动画Animated和用于全局的布局动画LayoutAnimation。AnimatedAnimated使得开发者可以非常容易地实现各种各样的动画和交互方式,并且具备极高的性能。Animated旨在以声明的形式来定义动画的输入与输出,在其中建立一个可配置的变化函数,然后使用简单的start/stop方法来控制动画按...

2019-11-07 14:33:30 474

原创 React Native0.61进阶之图片

静态图片资源React Native 提供了一个统一的方式来管理 iOS 和 Android 应用中的图片。要往 App 中添加一个静态图片,只需把图片文件放在代码文件夹中某处,然后像下面这样去引用它:<Image source={require('./my-icon.png')} />图片文件的查找会和 JS 模块的查找方式一样。在上面的这个例子里,是哪个组件引用了这个...

2019-11-07 11:30:09 478

原创 React Native0.61进阶之使用导航器跳转页面

移动应用基本不会只由一个页面组成。管理多个页面的呈现、跳转的组件就是我们通常所说的导航器(navigator)。本文档总结对比了 React Native 中现有的几个导航组件。如果你刚开始接触,那么直接选择React Navigation就好。 React Navigation 提供了简单易用的跨平台导航方案,在 iOS 和 Android 上都可以进行翻页式、tab 选项卡式和抽屉式的导航...

2019-11-07 11:18:24 1130

原创 React Native0.61进阶之特定平台代码

在编写跨平台的应用时,我们肯定希望尽可能多地复用代码。但是总有些时候我们会碰到针对不同平台编写不同代码的需求。React Native 提供了两种方法来区分平台:使用Platform模块. 使用特定平台扩展名.另外有些内置组件的某些属性可能只在特定平台上有效。请在阅读文档时留意。Platform 模块React Native 提供了一个检测当前运行平台的模块。如果组件只有一小部...

2019-11-07 11:16:53 157

原创 React Native0.61进阶之组件和API

React Native 提供了一些内置的组件。基础组件 交互控件 列表视图 iOS 独有组件 Android 独有组件 其他需要说明的是,你不会被局限在这些内置组件上。React Native 是大开源社区的作品,所以你还可以在 github 或是 npm 上搜索到带有react native关键字的大量的第三方组件。基础组件大多数应用都会用到这里的基础组件。如果你是新手...

2019-11-07 11:12:54 448

原创 React Native0.61之其他参考资源

常用的第三方库如果你正在使用 React Native,那你应该已经对React有一定的了解了。React 是基础中的基础所以我其实不太好意思提这个——但是,如果不幸你属于“但是”,那么请一定先了解下 React,它也非常适合编写现代化的网站。开发实践中的一个常见问题就是如何管理应用的“状态(state)”。这方面目前最流行的库非Redux莫属了。不要被 Redux 中经常出现的类似"...

2019-11-07 11:09:00 236

原创 React Native0.61之编写项目列表二

FlatList现在我们来让我们的应用能够渲染所有的数据而不是仅仅第一部电影。我们要用到的就是 FlatList 组件。为什么建议把内容放到 FlatList 里?比起直接渲染出所有的元素,或是放到一个 ScrollView 里有什么优势?这是因为尽管 React 很高效,渲染一个可能很大的元素列表还是会很慢。FlatList会安排视图的渲染,只显示当前在屏幕上的那些元素。而那些已经渲染好...

2019-11-06 16:09:42 191

原创 React Native0.61之编写项目列表一

我们将编写一个简单的应用,可以从电影数据库中取得最近正在上映的 25 部电影,并在一个FlatList中展示出来。准备工作React Native 需要一些基础的配置工作,你可以参考开始使用 React Native来进行。在所有依赖的软件都已经安装完毕后,请创建一个 React Native 工程和我们一起开始这次示例:react-native init SampleAppMo...

2019-11-06 16:02:22 333

原创 React Native0.61之网络请求

很多移动应用都需要从远程地址中获取数据或资源。您可能需要给某个REST API发起POST请求以提交用户数据,又或者可能仅需要从某个服务器上获取一些静态内容-以下就是你会新手可以对照这个替换的视频教程加深理解。使用提取React Native提供了和web标准一致的Fetch API,用于满足开发者访问网络的需求。如果您之前使用过XMLHttpRequest(即俗称的ajax)或其他的网络...

2019-11-06 14:55:24 622

原创 React Native0.61之使用长列表

React Native提供了几个适用于展示长列表数据的组件,一般而言我们会替换FlatList或SectionList。FlatList组件用于显示一个垂直的滚动列表,其中的元素之间的结构近似而仅数据不同。FlatList和ScrollView不同的是,FlatList并不立即渲染所有元素,而是优先渲染屏幕上可见的元素。FlatList组件必须的两个属性是data和renderIt...

2019-11-06 14:36:52 455

原创 React Native0.61之使用滚动视图

ScrollView是一个通用的可滚动的容器,您可以在其中加入多个组件和视图,而且这些组件并不需要是同类型的。ScrollView可以可以垂直滚动,可以水平滚动(通过horizontal属性来设置)。下面的示例代码创建了一个垂直滚动的ScrollView,其中还多余了图片和文字组件。import React, { Component } from 'react';import {...

2019-11-06 14:34:26 203

原创 React Native0.61之处理触摸事件

显示一个简单的按钮Button是一个简单的跨平台的按钮组件。下面是一个最简示例:<Button onPress={() => { Alert.alert("你点击了按钮!"); }} title="点我!"/>上面这段代码会在 iOS 上渲染一个蓝色的标签状按钮,在 Android 上则会渲染一个蓝色圆角矩形带白字的按钮。点击这个按钮会调用"o...

2019-11-04 15:53:01 202

原创 React Native0.61之处理文本输入

TextInput是一个允许用户输入文本的基础组件。它有一个名为onChangeText的属性,此属性接受一个函数,而此函数会在文本变化时被调用。另外还有一个名为onSubmitEditing的属性,会在文本被提交后(用户按下软键盘上的提交键)调用。假如我们要实现当用户输入时,实时将其以单词为单位翻译为另一种文字。我们假设这另一种文字来自某个吃货星球,只有一个单词: ????。所以"Hell...

2019-11-04 15:33:16 162

原创 React Native0.61之使用Flexbox布局一 (flexDirection、alignItems、justifyContent)

在 React Native 中使用 flexbox 规则来指定某个组件的子元素的布局。Flexbox 可以在不同屏幕尺寸上提供一致的布局结构。一般来说,使用flexDirection、alignItems和justifyContent三个样式属性就已经能满足大多数布局需求。这里有一份简易布局图解,可以给你一个大概的印象。React Native 中的 Flexbox 的工作原理...

2019-11-04 15:24:41 260

原创 React Native0.61之高度与宽度

组件的高度和宽度决定了其在屏幕上显示的尺寸。指定宽高最简单的给组件设定尺寸的方式就是在样式中指定固定的width和height。React Native 中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。import React, { Component } from 'react';import { View } from 'react-native';expor...

2019-11-04 15:02:07 262

原创 React Native0.61之样式

在 React Native 中,使用 JavaScript 来写样式。所有的核心组件都接受名为style的属性。这些样式名基本上是遵循了 web 上的 CSS 的命名,只是按照 JS 的语法要求使用了驼峰命名法,例如将background-color改为backgroundColor。style属性可以是一个普通的 JavaScript 对象。你还可以传入一个数组——在数组中位置居后...

2019-11-04 14:56:36 239

原创 React Native0.61之State(状态)

我们使用两种数据来控制一个组件:props和state。props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变。对于需要改变的数据,我们需要使用state。一般来说,你需要在class中声明一个state对象,然后在需要修改时调用setState方法。假如我们需要制作一段不停闪烁的文字。文字内容本身在组件创建时就已经指定好了,所以文字内容应该是一个pro...

2019-11-04 14:50:50 180

原创 React Native0.61之Props(属性)

大多数组件在创建时就可以使用各种参数来进行定制。用于定制的这些参数就称为props(属性)。以常见的基础组件Image为例,在创建一个图片时,可以传入一个名为source的 prop 来指定要显示的图片的地址,以及使用名为style的 prop 来控制其尺寸。import React, { Component } from 'react';import { Image } from '...

2019-11-04 14:43:21 172

原创 React Native0.61 编写Hello World

React Native 看起来很像 React,只不过其基础组件是原生组件而非 web 组件。要理解 React Native 应用的基本结构,首先需要了解一些基本的 React 的概念,比如 JSX 语法、组件、state状态以及props属性。Hello World根据历史悠久的“传统”,我们也来写一个“Hello, world!”:import React, { Compon...

2019-11-04 14:34:54 227

转载 React Native0.61 创建新项目

创建新项目使用 React Native 命令行工具来创建一个名为"AwesomeProject"的新项目:react-native init AwesomeProject提示:你可以使用--version参数(注意是两个杠)创建指定版本的项目。例如react-native init MyApp --version 0.44.3。注意版本号必须精确到两个小数点。Window...

2019-11-04 11:26:13 530 1

原创 React Native0.61 搭建开发环境

安装依赖必须安装的依赖有:Node、Watchman 和 React Native 命令行工具以及 JDK 和 Android Studio。Node, Watchman我们推荐使用Homebrew来安装 Node 和 Watchman。在命令行中执行下列命令安装:brew install nodebrew install watchman如果你已经安装了 Node,请检...

2019-11-04 11:21:06 1079

原创 使用curl来模拟请求HTTP

我们在客户端开发过程中总免不了和后端进行api对接,有时候需要对返回的数据格式进行调试,有时候每次运行客户端来发送请求,这个未免效率太低,这里就来介绍一个好用的工具--curl。curlcurl是一个向服务器传输数据的工具,它支持http、https、ftp、ftps、scp、sftp、tftp、telnet等协议,这里只针对http进行讲解一些常用的用法,具体安装请自行搜索。打开百度...

2019-08-12 18:11:58 1043

翻译 Android 7.0 开发者版本

Android 7.0 Nougat 为用户和开发者引入多种新功能。本文重点介绍面向开发者的新功能。请务必查阅Android 7.0 行为变更以了解平台变更可能影响您的应用的领域。要详细了解 Android 7.0 的消费者功能,请访问www.android.com。多窗口支持在 Android 7.0 中,我们为该平台引入了一个新的而且非常需要的多任务处理功能 — 多窗口支持...

2019-05-30 09:00:35 315

翻译 Android 7.0 行为变更

Android 7.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更。如果您之前发布过 Android 应用,请注意您的应用可能受到这些平台变化的影响。电池和内存Android 7.0 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更。这些变更可能会影响您的应用访问系统资源,以及您的应用通过特定...

2019-05-29 14:21:10 195

Fragment保持状态的框架

刚开始使用fragment的时候,看到网上有很多例子都是说只要replace来切换界面,但是这个会有一个缺点,比如A界面是个列表,好不容易通过流量下载来了,然后切换界面,再次返回,由于使用replace,fragment就又重新创建界面导致,用户又得加载。现在这个Demo,就完美的解决了这个问题。这个是使用了add方法,可以保持fragment的状态。很有用的UI框架

2014-01-24

空空如也

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

TA关注的人

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